Muster SDK  8.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
MTimeRule.h
Go to the documentation of this file.
1 /*****************************************************************************
2  **
3  ** Header file for Muster API Time rule object lib
4  **
5  ** Name : MTimeRule.h
6  ** Author : Leonardo Bernardini
7  ** Version : 1.0, Sat Mar 2nd 2013
8  **
9  ** Copyright 2000-2014, Virtual Vertex
10  ** All Rights Reserved.
11  **
12  ** This file contains UNPUBLISHED PROPRIETARY SOURCE CODE.
13  ** The contents of this file may not be disclosed to third parties, copied
14  ** or duplicated in any form, in whole or in part, without the prior written
15  ** permission of the author.
16  **
17  *****************************************************************************/
18 #ifndef MTIMERULE_H
19 #define MTIMERULE_H
20 
21 #ifdef WIN32
22 // Windows definitions
23 #ifdef MCLIENTLIB_EXPORTS
24 #define MCLIENTLIB_API __declspec(dllexport)
25 #else
26 #define MCLIENTLIB_API __declspec(dllimport)
27 #endif
28 #else
29 
30 #ifndef MCLIENTLIB_EXPORTS
31 #ifdef LINUX
32 #define MCLIENTLIB_API
33 #else
34 #define MCLIENTLIB_API
35 #endif
36 #else
37 #define MCLIENTLIB_API
38 #endif
39 #endif
40 
41 // Disable STL Export warning, member is private, we don't need direct access from the DLL client
42 #if defined(_WIN32)
43 #pragma warning(disable: 4251)
44 #endif // _WIN32
45 
46 #include <string>
47 #include <vector>
48 
49 namespace MClientLib {
50 
55  private:
56  bool isTimeSpanRule;
57  long long int startingTime;
58  long long int endingTime;
59  bool ruleAction;
60  public:
61  MTimeRule();
62  void setRuleIsTimeSpan(bool isTimeSpan);
63  bool getRuleIsTimeSpan();
64 
65  void setRuleAction(bool available);
66  bool getRuleAction();
67 
68  void getRuleTimeSpan(long long int& _startingTime, long long int& _endingTime);
69  void setRuleTimeSpan(long long int _startingTime, long long int _endingTime);
70  void setRuleDayRange(int startingDay, int startingHour, int startingMinutes,
71  int endingDay,int endingHours, int endingMinutes);
72  void getRuleDayRange(int& startingDay, int& startingHour, int& startingMinutes,
73  int& endingDay,int& endingHours, int& endingMinutes);
74 
75  static std::vector<MTimeRule> Unmarshall(std::string);
76  static std::string Marshall(std::vector<MTimeRule>* list);
77 
78  } ;
79 }
80 #endif