Go to the documentation of this file.00001
00002 #ifndef CNetSideband_H
00003 #define CNetSideband_H
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
00037
00038
00039 #ifndef __cplusplus
00040 #error This is a C++ include file and cannot be used from plain C
00041 #endif
00042
00043 #include <string>
00044 #include <vector>
00048 #ifndef WITHOUT_ACS
00049 #include <almaEnumerations_IFC.h>
00050 #else
00051
00052
00053 namespace NetSidebandMod
00054 {
00057
00058 const char *const revision = "1.9";
00059 const int version = 1;
00060
00061 enum NetSideband
00062 {
00063 NOSB
00064 ,
00065 LSB
00066 ,
00067 USB
00068 ,
00069 DSB
00071 };
00072 typedef NetSideband &NetSideband_out;
00073 }
00074 #endif
00075
00076 using namespace std;
00077
00082 class CNetSideband {
00083 public:
00084
00089 static const std::string& sNOSB;
00091 static const std::string& sLSB;
00093 static const std::string& sUSB;
00095 static const std::string& sDSB;
00102 static int version() ;
00103
00104
00110 static string revision() ;
00111
00112
00117 static unsigned int size() ;
00118
00119
00125 static std::string name(const NetSidebandMod::NetSideband& e);
00126
00130 static std::string toString(const NetSidebandMod::NetSideband& f) { return name(f); }
00131
00137 static const std::vector<std::string> names();
00138
00139
00140
00141 static NetSidebandMod::NetSideband newNetSideband(const std::string& name);
00142
00148 static NetSidebandMod::NetSideband literal(const std::string& name);
00149
00155 static NetSidebandMod::NetSideband from_int(unsigned int i);
00156
00157
00158 private:
00159
00160 CNetSideband();
00161 CNetSideband(const CNetSideband&);
00162 CNetSideband& operator=(const CNetSideband&);
00163
00164 static string badString(const string& name) ;
00165 static string badInt(unsigned int i) ;
00166
00167 };
00168
00169 #endif