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

Generated on 3 May 2017 for CAFE by  doxygen 1.6.1