caopCodes.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef CAOPCODES_H
00009 #define CAOPCODES_H
00010
00011 #include <cadef.h>
00012 #include <iostream>
00013 #include <string>
00014 #include <map>
00015
00020 class CAOPCodes {
00021 typedef std::map<int, std::string> mapIntString;
00022 private:
00023 mapIntString mapDataType;
00024 mapIntString::iterator pos;
00025 public:
00026 CAOPCodes() {
00027 mapDataType.insert(std::make_pair((int) CA_OP_GET, "CA_OP_GET" ));
00028 mapDataType.insert(std::make_pair((int) CA_OP_PUT, "CA_OP_PUT" ));
00029 mapDataType.insert(std::make_pair((int) CA_OP_CREATE_CHANNEL, "CA_OP_CREATE_CHANNEL" ));
00030 mapDataType.insert(std::make_pair((int) CA_OP_ADD_EVENT, "CA_OP_ADD_EVENT" ));
00031 mapDataType.insert(std::make_pair((int) CA_OP_CLEAR_EVENT, "CA_OP_CLEAR_EVENT" ));
00032 mapDataType.insert(std::make_pair((int) CA_OP_OTHER, "CA_OP_OTHER" ));
00033 mapDataType.insert(std::make_pair((int) CA_OP_CONN_UP, "CA_OP_CONN_UP" ));
00034 mapDataType.insert(std::make_pair((int) CA_OP_CONN_DOWN, "CA_OP_CONN_DOWN" ));
00035 };
00036
00037 ~CAOPCodes() {};
00038
00039 std::string message (int i) {
00040
00041 pos = mapDataType.find(i);
00042 if (pos != mapDataType.end()) return pos->second;
00043 return "CAFE_DATATYPE_UNKNOWN";
00044 };
00045
00046 int enumIs (std::string message) {
00047 for (pos=mapDataType.begin(); pos != mapDataType.end(); ++pos)
00048 if (pos->second==message) return pos->first;
00049 return -1;
00050 };
00051
00052 void show() {print();}
00053
00054 void print ( ) {
00055 std::cout << "------------------" << std::endl;
00056 std::cout << "CA_OP_LIST" << std::endl;
00057 std::cout << "-----------------" << std::endl;
00058 for (pos=mapDataType.begin(); pos != mapDataType.end(); ++pos) {
00059 std::cout << pos->first << " " << pos->second << std::endl;
00060 }
00061 std::cout << "-----------------" << std::endl;
00062 };
00063
00064 };
00065
00066
00067 #endif