CCAFFEINE  0.8.8
ProviderPortData.h
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