00001 #ifndef dc_fwk_ProviderPortData_h_seen
00002 #define dc_fwk_ProviderPortData_h_seen
00003
00004 #include <vector>
00005 #include <string>
00006
00012 #define ProviderPortData_USEEXPLICIT_COPYCTOR 0
00013
00014
00015
00021 class ProviderPortData
00022 {
00023
00024 private:
00025 ::ccafeopq::Port *pp;
00026 ::ccafeopq::TypeMap_shared tm;
00027 ::std::string name;
00028 ::std::string type;
00029 int serial;
00030 int numberOfUsers;
00031
00032
00033 friend class Gizzard;
00034
00035 ::ccafeopq::Port *getPortInterface();
00036 void releasePortInterface();
00037 void shutdown();
00038
00039 public:
00040
00042 ProviderPortData();
00043 #if ProviderPortData_USEEXPLICIT_COPYCTOR
00044 ProviderPortData(const ProviderPortData &src);
00045 #endif
00046
00047
00053 ProviderPortData( ::ccafeopq::Port *p, const ::std::string & name_, const ::std::string & type_, ::ccafeopq::TypeMap_shared & tm_, int serial);
00054 virtual ~ProviderPortData();
00055
00056 ::ccafeopq::TypeMap_shared getProviderPortProperties();
00057 void setProviderPortProperties( ::ccafeopq::TypeMap_shared tm_);
00058
00059 ::std::string getPortName() const;
00060 ::std::string getPortType() const;
00061 int getMaxConnections();
00062 int getMinConnections();
00063 int getNumberOfUsers();
00064
00065 static void initDefaultProperties( ::ccafeopq::TypeMap_shared t,
00066 const std::string &name, const std::string & type );
00067
00068
00069 ::std::string toString() const;
00070
00071 };
00072
00073 #endif // dc_fwk_ProviderPortData_h_seen