SubscriptionCycle.h
Go to the documentation of this file.00001
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 }
00049
00050 #endif // SUBSCRIPTION_CYCLE_H_