00001
#ifndef _ACS_SAMP_IDL_
00002
#define _ACS_SAMP_IDL_
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
#include <baci.idl>
00035
#include <ACSErrTypeCommon.idl>
00036
00037
#pragma prefix "alma"
00038
00043 module acssamp
00044 {
00045
00049 interface
SampObj;
00050
00051
00055 interface
Samp :
ACS::CharacteristicComponent
00056 {
00057
00081 SampObj initSampObj (in string name,
00082 in string property,
00083 in
ACS::TimeInterval frequency,
00084 in
ACS::TimeInterval reportRate)
00085 raises (ACSErrTypeCommon::OutOfBoundsEx,
00086 ACSErrTypeCommon::MemoryFaultEx,
00087 ACSErrTypeCommon::CORBAProblemEx,
00088 ACSErrTypeCommon::TypeNotSupportedEx,
00089 ACSErrTypeCommon::CouldntAccessPropertyEx,
00090 ACSErrTypeCommon::CouldntAccessComponentEx,
00091 ACSErrTypeCommon::CouldntCreateObjectEx);
00092
00093 };
00094
00095
00096 interface SampObj :
ACS::Subscription
00097 {
00098
00099
00107
void start();
00108
00109
00117
void stop();
00118
00119
00125
00126
00127
00128
00129
00130
00131
00144
void setFrequency (in
ACS::TimeInterval sFrequency);
00145
00146
00159
void getFrequency (out
ACS::TimeInterval sFrequency);
00160
00161
00162
00175
void setRate (in
ACS::TimeInterval rRate);
00176
00177
00190
void getRate (out
ACS::TimeInterval rRate);
00191
00192
00198 struct SampDataBlock
00199 {
00200 ACS::Time sampTime;
00201 any sampVal;
00202 };
00203 typedef sequence<SampDataBlock>
SampDataBlockSeq;
00204
00205
00206
00215 string getChannelName ();
00216
00217 };
00218
00219
00220 };
00221
00222
00223
#endif