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 }; 00070 00071 #endif // dc_fwk_ProviderPortData_h_seen