SubscriptionCycle.h

Go to the documentation of this file.
00001 // Copyright CERN 2012 - Developed in collaboration with GSI
00002 
00003 #ifndef SUBSCRIPTION_CYCLE_H_
00004 #define SUBSCRIPTION_CYCLE_H_
00005 
00006 #include <string>
00007 #include <map>
00008 #include <vector>
00009 #include <sstream>
00010 
00011 #include <stdint.h>
00012 
00013 namespace fesa
00014 {
00015 
00016 class MultiplexingContext;
00017 
00021 class SubscriptionCycle
00022 {
00023   public:
00024     SubscriptionCycle();
00025 
00026     ~SubscriptionCycle();
00027 
00028     void addCycle(const std::string& cycle);
00029 
00030     void removeCycle(const std::string& cycle);
00031 
00038     void matchContext(MultiplexingContext& ctxt, std::vector<std::string>& validCycles);
00039 
00040     void printDebugState(std::stringstream& str, int32_t tabNb);
00041 
00042   private:
00043     typedef std::map<std::string, int32_t> CyclesMap;
00044     typedef CyclesMap::iterator CyclesItr;
00045     CyclesMap cycles_;
00046 };
00047 
00048 } // fesa
00049 
00050 #endif // SUBSCRIPTION_CYCLE_H_

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1