Software and Services, Portable Libraries  2019.Mar.01
A library for managing digital certificates
cal_query.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 
43 #ifndef __DOUGLAS_MARK_ROYER_LIBRARY_ICALENDAR_CAL_QUERY_HPP__
44 #define __DOUGLAS_MARK_ROYER_LIBRARY_ICALENDAR_CAL_QUERY_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 "BaseValueType.hpp"
57 #else
58 #include <SaS/iCalendar/iCalendar.hpp>
59 #include <SaS/iCalendar/BaseValueType.hpp>
60 #endif
61 
62 using namespace std;
66 
67 namespace SoftwareAndServices
68 {
69  namespace Library
70  {
71  namespace iCalendar
72  {
73 
78  class EXPORT_ICALENDAR cal_query
79  : public BaseValueType
80  {
81 
82  public:
83 
87  cal_query();
88 
98  cal_query(const char * selectClause, const char * fromClause = NULL, const char * whereClause = NULL);
99 
103  virtual ~cal_query();
104 
112  virtual bool sprint(String * Results) const;
113 
123  bool parse(Parse & in, component * errors);
124 
134  bool parse(const char * in, component * errors);
135 
139  const char * get() const;
140 
144  const char * Select() const;
145 
151  bool Select(const char * selectClause);
152 
156  const char * From() const;
157 
163  bool From(const char * fromClause);
164 
168  const char * Where() const;
169 
175  bool Where(const char * whereClause);
176 
177  private:
178  const char * _select;
179  const char * _from;
180  const char * _where;
181  mutable const char * _all;
182  };
183 
188  typedef vector<cal_query*> cal_queryVec;
189 
190  }
191  }
192 }
193 
194 #endif /*__DOUGLAS_MARK_ROYER_LIBRARY_ICALENDAR_CAL_QUERY_HPP__*/
STL namespace.
Generic text parsing routines.
Definition: Parse.hpp:102
This is a class that allows:
Definition: String.hpp:114
Copyright Douglas Mark Royer DouglasRoyer@gmail.com.
Definition: Base.hpp:98
The base class for calendar objects.
Definition: iCalendar.hpp:434
All (almost all) values are derived from this base class.
vector< cal_query * > cal_queryVec
An array of cal_query.
Definition: cal_query.hpp:188
An implementation of RFC-iCalendar CAL-QUERY.
Definition: cal_query.hpp:78
Base class for all RFC-iCalendar components.
Definition: component.hpp:98