23 #ifdef MCLIENTLIB_EXPORTS
24 #define MCLIENTLIB_API __declspec(dllexport)
26 #define MCLIENTLIB_API __declspec(dllimport)
30 #ifndef MCLIENTLIB_EXPORTS
32 #define MCLIENTLIB_API
34 #define MCLIENTLIB_API
37 #define MCLIENTLIB_API
43 #pragma warning(disable: 4251)
50 namespace MClientLib {
59 long long int startingTime;
60 long long int endingTime;
82 void setType(
int ruleType);
85 void setAvailability(
int ruleAvailability);
86 int getAvailability();
88 void getRuleTimeSpan(
long long int& _startingTime,
long long int& _endingTime);
89 void setRuleTimeSpan(
long long int _startingTime,
long long int _endingTime);
90 void setRuleDayRange(
int startingDay,
int startingHour,
int startingMinutes,
91 int endingDay,
int endingHours,
int endingMinutes);
92 void getRuleDayRange(
int& startingDay,
int& startingHour,
int& startingMinutes,
93 int& endingDay,
int& endingHours,
int& endingMinutes);
95 static std::vector<MTimeRule> Unmarshall(
const std::string& );
96 static std::string Marshall(
const std::vector<MTimeRule>& list);
99 void encodeTree(
void* _pt, std::string (*encodeFunc)(
const std::string &),
int encoding)
const;
100 void decodeTree(
void* _pt);
101 int Evaluate()
const;
102 static int Evaluate(
const std::vector<MTimeRule>& rules,
int defaultValue = kTimeRuleNotPertinent);
103 static void encodeTreeList(
void* _pt, std::string (*encodeFunc)(
const std::string &),
int encoding,
const std::vector<MTimeRule>& list) ;
104 static std::vector<MTimeRule> decodeTreeList(
void* _pt);