ARTSAT API  2.7.1
 全て クラス ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義 ページ
ofxSATLocalDB.h
説明を見る。
1 /*
2 ** ARTSAT Project
3 **
4 ** Original Copyright (C) 2011 - 2012 HORIGUCHI Junshi.
5 ** http://iridium.jp/
6 ** zap00365@nifty.com
7 ** Portions Copyright (C) <year> <author>
8 ** <website>
9 ** <e-mail>
10 ** Version openFrameworks
11 ** Website http://artsat.jp/
12 ** E-mail info@artsat.jp
13 **
14 ** This source code is for Xcode.
15 ** Xcode 4.2 (LLVM compiler 3.0)
16 **
17 ** ofxSATLocalDB.h
18 **
19 ** ------------------------------------------------------------------------
20 **
21 ** THE SOURCE CODE AND THE BINARY OF ARTSAT API IS DISTRIBUTED UNDER THE MIT LICENSE WRITTEN BELOW.
22 ** THE LICENSE OF ANY DATA GOTTEN THROUGH ARTSAT API FOLLOWS PROVIDED LICENSE ON EACH SATELLITE.
23 **
24 ** ARTSAT API のソースコードとバイナリは下記に示す MIT ライセンスの元で配布されます。
25 ** ARTSAT API を通して取得できるデータのライセンスに関してはデータの提供元となる各衛星の定めるライセンスに準じます。
26 **
27 ** The MIT License (MIT)
28 **
29 ** Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
30 ** associated documentation files (the "Software"), to deal in the Software without restriction,
31 ** including without limitation the rights to use, copy, modify, merge, publish, distribute,
32 ** sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
33 ** furnished to do so, subject to the following conditions:
34 ** The above copyright notice and this permission notice shall be included in all copies or
35 ** substantial portions of the Software.
36 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
37 ** BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
38 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 ** WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
40 ** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
41 **
42 ** 以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を
43 ** 取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。
44 ** これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および、または販売する権利、
45 ** およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。
46 ** 上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。
47 ** ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。
48 ** ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。
49 ** 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、
50 ** あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。
51 */
52 
53 #ifndef __OFX_SATLOCALDB_H
54 #define __OFX_SATLOCALDB_H
55 
62 #include "ofxSATType.h"
63 #include "ofxSAT.h"
64 #include "ofxSQLite.h"
65 
67 
72 class ofxSATLocalDB : public ofxSAT {
73  public:
77  typedef ofxSATLocalDB self;
81  typedef ofxSAT super;
82 
83  private:
84  ofxSQLite* _sql;
85  std::string _id;
86 
87  protected:
92  explicit ofxSATLocalDB (void);
97  virtual ~ofxSATLocalDB (void) = 0;
104  ofxSQLite* getSQL (void) const;
116  virtual ofxSATError setup (void);
124  virtual void cleanup (void);
132  ofxSATError beginSQLTransaction (void) const;
137  void endSQLTransaction (void) const;
153  ofxSATError makeSQLTable (std::string const& table, std::string const& content) const;
161  ofxSATError optimizeSQL (void) const;
167  static std::string convertToSQLTime (ofxSATTime const& param);
177  static ofxSATError convertSQLTimeTo (std::string const& string, ofxSATTime* result);
178  private:
179  ofxSATError openSQL (void);
180  void closeSQL (void);
181  private:
182  ofxSATLocalDB (ofxSATLocalDB const&);
183  ofxSATLocalDB& operator= (ofxSATLocalDB const&);
184 };
185 
186 /*protected */inline ofxSQLite* ofxSATLocalDB::getSQL(void) const
187 {
188  return _sql;
189 }
190 
191 #endif