trader  v0.1a
A framework to build trading applications
databaseschema.h
1 #pragma once
2 
3 #include "endpoint.h"
4 #include "fileoutputstream.h"
5 
6 namespace trader
7 {
8 
9  class DatabaseSchema : public SingletonHolder< DatabaseSchema >
10  {
11  public:
12  void process(const string &_namespace, const string &_inputDir, const string &outputdirectory);
13  void generateInsertAndDeleteUnchanged(ApiFileOutputStream &cpp, ostringstream &nameStream, string &apiName,
14  ostringstream &keyStream, JSON::Object::Ptr table,
15  JSON::Array::Ptr fields);
16  void generateInsert(ApiFileOutputStream &cpp, ostringstream &nameStream, string &apiName,
17  ostringstream &keyStream, JSON::Object::Ptr table, JSON::Array::Ptr fields);
18  void generateClear(ApiFileOutputStream &cpp, ostringstream &nameStream, string &apiName,
19  ostringstream &keyStream, JSON::Object::Ptr table, JSON::Array::Ptr fields, string &name);
20  void generateInit(ApiFileOutputStream &cpp, ostringstream &nameStream, string &apiName,
21  ostringstream &keyStream, JSON::Object::Ptr table, JSON::Array::Ptr fields, string &name);
22  void generateInsertOnce(ApiFileOutputStream &cpp, ostringstream &nameStream, string &apiName,
23  ostringstream &keyStream, JSON::Object::Ptr table, JSON::Array::Ptr fields);
24  void generateInsertUnique(ApiFileOutputStream &cpp, ostringstream &nameStream, string &apiName,
25  ostringstream &keyStream, JSON::Object::Ptr table, JSON::Array::Ptr fields);
26  void generateInsertMultiple(ApiFileOutputStream &cpp, ostringstream &nameStream, string &apiName,
27  ostringstream &keyStream, JSON::Object::Ptr table, JSON::Array::Ptr fields);
28  void generateDeleteMultiple(ApiFileOutputStream &cpp, ostringstream &nameStream, string &apiName,
29  ostringstream &keyStream, JSON::Object::Ptr table, JSON::Array::Ptr fields);
30  void generateInsertUniqueMultiple(ApiFileOutputStream &cpp, ostringstream &nameStream, string &apiName,
31  ostringstream &keyStream, JSON::Object::Ptr table, JSON::Array::Ptr fields);
32  void generateGetLatest(ApiFileOutputStream &cpp, ostringstream &nameStream, string &apiName,
33  ostringstream &keyStream, JSON::Object::Ptr table, JSON::Array::Ptr fields);
34  void generateGetAll(ApiFileOutputStream &cpp, ostringstream &nameStream, string &apiName,
35  ostringstream &keyStream, JSON::Object::Ptr table, JSON::Array::Ptr fields);
36 
37  static DatabaseSchema instance;
38  };
39 
40 } // namespace trader
Definition: fileoutputstream.h:61
Definition: databaseschema.h:9
Definition: app.h:7