Go to the documentation of this file.00001 #ifndef _ACSSAMP_IMPL_H
00002 #define _ACSSAMP_IMPL_H
00003
00004
00005
00006
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
00032
00033
00034
00035
00036 #ifndef __cplusplus
00037 #error This is a C++ include file and cannot be used from plain C
00038 #endif
00039
00040 #include <baciCharacteristicComponentImpl.h>
00041 #include <ACSErrTypeCommon.h>
00042
00043 #include <acssampS.h>
00044
00045 #include <vector>
00046 #include <list>
00047
00073 class ACSSampImpl: public virtual baci::CharacteristicComponentImpl,
00074 public virtual POA_acssamp::Samp
00075 {
00076 public:
00077
00085 ACSSampImpl(const ACE_CString& name, maci::ContainerServices *containerServices);
00086
00090 virtual ~ACSSampImpl();
00091
00121 virtual acssamp::SampObj_ptr initSampObj(const char *name,
00122 const char *property,
00123 ACS::TimeInterval frequency,
00124 ACS::TimeInterval reportRate
00125 );
00126
00127
00141 virtual void addComponenttoList(CORBA::Object_ptr component_ref);
00142
00143
00156 virtual void removeComponentfromList(CORBA::Object_ptr component_ref);
00157
00158
00159 private:
00160
00164 std::list<CORBA::Object_ptr> component_list;
00165
00166 ACE_Recursive_Thread_Mutex m_samplingListMutex;
00167 };
00168
00169
00170
00171 #endif