00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef _E164PART_I_H_
00032 #define _E164PART_I_H_
00033
00034
00035
00036
00037
00038
00039 #include <e164item.h>
00040
00041
00042 #include "productpart_i.h"
00043
00044
00045
00046
00047
00048 namespace OSB_CORBA {
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00064 class E164PartBase_i :
00065 public virtual POA_corba::pcat::pp::E164Part,
00066 public virtual ProductPartBase_i
00067 {
00068
00069 private:
00075 virtual const OSB_LIB::E164Item* getE164Item(
00076 const ProductPartBase_i::NodeRg& guard,
00077 const std::string& ifc,
00078 const std::string& module
00079 ) const throw (OsbCorbaException) = 0;
00080 };
00081
00082
00083
00089 class E164Part_i :
00090 public virtual E164PartBase_i,
00091 public virtual ProductPart_i
00092 {
00093 public:
00094
00096 static const std::string IFC;
00097
00105 E164Part_i(
00106 Product_i& pd,
00107 const NodeOid& pnId,
00108 const ItemOid& piId
00109 );
00110
00111 private:
00123 const OSB_LIB::E164Item* getE164Item(
00124 const ProductPartBase_i::NodeRg& guard,
00125 const std::string& ifc,
00126 const std::string& module
00127 ) const throw (OsbCorbaException);
00128
00130 const std::string& ifc() const;
00131 };
00132
00133
00134
00140 class E164PartWriter_i :
00141 public virtual POA_corba::pcat::pp::E164PartWriter,
00142 public virtual ProductPartWriter_i,
00143 public virtual E164PartBase_i
00144 {
00145 public:
00146
00148 static const std::string IFC;
00149
00160 E164PartWriter_i(
00161 ProductWriter_i& prod,
00162 OSB_LIB::ProductNode& node,
00163 OSB_LIB::E164Item& item
00164 );
00165
00166 private:
00168 OSB_LIB::E164Item& e164item_;
00169
00170 private:
00172 const std::string& ifc() const;
00173
00174 private:
00176 OSB_LIB::ProductItem* pItem();
00178 const OSB_LIB::ProductItem* pItem() const;
00179
00181 const OSB_LIB::E164Item* getE164Item(
00182 const ProductPartBase_i::NodeRg& guard,
00183 const std::string& ifc,
00184 const std::string& module
00185 ) const throw (OsbCorbaException);
00186 };
00187 }
00188
00189
00190
00191 namespace OSB_CORBA {
00192 }
00193 #endif // #ifndef _E164PART_I_H_