Portability Libraries  2015.2.0.0
Common Methods and Objects for Platform Independance.
car_level.hpp
Go to the documentation of this file.
1 //
2 // BEGIN_DOUGLAS_MARK_ROYER_COPYRIGHT
3 //
4 // Copyright (C) 1993-2012 Douglas Mark Royer, All Rights Reserved.
5 //
6 // NOTICE:
7 //
8 // THIS SOURCE CODE BELONGS TO DOUGLAS MARK ROYER
9 // THIS CODE IS CONSIDERED A
10 // TRADE SECRET AND IS NOT TO BE DIVULGED OR USED BY PARTIES WHO HAVE
11 // NOT RECEIVED WRITTEN AUTHORIZATION FROM THE OWNER.
12 //
13 // THIS SOFTWARE AND MANUAL ARE BOTH PROTECTED BY UNITED STATES
14 // COPYRIGHT LAW (TITLE 17 UNITED STATES CODE). UNAUTHORIZED REPRODUCTION
15 // AND/OR SALE MAY RESULT IN IMPRISONMENT OF UP TO ONE YEAR AND FINES
16 // OF UP TO $100,000 (17 USC 506). COPYRIGHT INFRINGERS MAY ALSO
17 // BE SUBJECT TO CIVIL LIABILITY.
18 //
19 // THIS NOTICE AND THE ABOVE COPYRIGHT NOTICE MUST REMAIN IN ALL
20 // COPIES AND ANY DERIVED WORK.
21 //
22 // ALL OF THIS CODE IS ORIGINAL WORK BY THE COPYRIGHT HOLDER.
23 //
24 // THIS DOCUMENT AND THE INFORMATION CONTAINED HEREIN IS
25 // PROVIDED ON AN "AS IS" BASIS AND INET-CONSULTING.COM, INC.
26 // DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
27 // NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
28 // HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
29 // WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
30 // PURPOSE. ANY SERVICE CONTRACT WILL BE UNDER A SEPARATE
31 // LICENSE.
32 //
33 // END_DOUGLAS_MARK_ROYER_COPYRIGHT
34 //
35 
36 /**
37  * @author Doug Royer / SoftwareAndServices
38  * @file
39  * This is a class and interfaces in C and C++ that represents calendar CAR-LEVEL
40  * data. It is designed to be compatible with RFC-iCalendar, RFC-iTIP, RFC-iMIP,
41  * CAP, and current WebDAV and CalDAV calendars.
42  */
43 #ifndef __DOUGLAS_MARK_ROYER_LIBRARY_ICALENDAR_CAR_LEVEL_HPP__
44 #define __DOUGLAS_MARK_ROYER_LIBRARY_ICALENDAR_CAR_LEVEL_HPP__
45 
46 #ifndef EXPORT_ICALENDAR
47 #ifdef BUILDING_LIBRARY_ICALENDAR
48 #define EXPORT_ICALENDAR EXPORT_OUT
49 #else
50 #define EXPORT_ICALENDAR EXPORT_IN
51 #endif
52 #endif
53 
54 #ifdef BUILDING_LIBRARY_ICALENDAR
55 #include "iCalendar.hpp"
56 #include "property.hpp"
57 #include "text_property.hpp"
58 #include "text.hpp"
59 #else
60 #include <SaS/iCalendar/iCalendar.hpp>
61 #include <SaS/iCalendar/property.hpp>
62 #include <SaS/iCalendar/text_property.hpp>
63 #include <SaS/iCalendar/text.hpp>
64 #endif
65 
66 using namespace std;
70 
71 namespace SoftwareAndServices
72 {
73  namespace Library
74  {
75  namespace iCalendar
76  {
77 
78  /**
79  * @class car_level
80  * An RFC-iCalendar implementation of CAR-LEVEL property.
81  */
82  class EXPORT_ICALENDAR car_level
83  : public text_property
84  {
85 
86  public:
87 
88  /**
89  * car_level Constructor.
90  */
91  car_level();
92 
93  /**
94  * car_level Constructor.
95  *
96  * @param Value The initial value.
97  */
98  car_level(const char * Value);
99 
100  /**
101  * car_level Constructor.
102  *
103  * @param Value The initial value.
104  */
105  car_level(const text * Value);
106 
107  /**
108  * car_level Destructor.
109  */
110  virtual ~car_level();
111 
112  /**
113  * @return TRUE if the car_level values are correct.
114  */
115  virtual bool valid() const;
116 
117  };
118 
119  /**
120  * @typedef car_levelVec
121  * An array of car_level.
122  */
123  typedef vector<car_level*> car_levelVec;
124 
125  }
126  }
127 }
128 
129 #endif /*__DOUGLAS_MARK_ROYER_LIBRARY_ICALENDAR_CAR_LEVEL_HPP__*/
STL namespace.