ClockWork DB CoreAPI 1.0.48
Abstract Time Series and Storage/Management Library
Loading...
Searching...
No Matches
session.hpp
1#ifndef HAVE_TOM_TSDB_SESSION_HPP
2#define HAVE_TOM_TSDB_SESSION_HPP
3
4#include <tom-util/scalar.hpp>
5#include <tom-tsdb/smart_pointers.hpp>
6
7namespace tom {
8
9 class String;
10
11 namespace tsdb {
12
13 class connection;
14 class provider;
15
20 class TOM_UTIL_API connection_meta_data
21 {
22 public:
25 const tom::String &descr,
26 const tom::String &uri ) :
27 m_name(name), m_descr( descr ), m_uri( uri ) { }
28 virtual ~connection_meta_data( ) { }
29
33 const tom::String &
34 name() const { return m_name; }
38 const tom::String &
39 description() const { return m_descr; }
40
44 const tom::String &
45 uri() const { return m_uri; }
46
47 protected:
48 tom::String m_name;
49 tom::String m_descr;
50 tom::String m_uri;
51
52 };
53 typedef std::vector< connection_meta_data > connection_meta_data_vec;
54
59 class TOM_UTIL_API connection_info
60 {
61 public:
68 connection_info( const tom::observation &uri ) : m_uri( uri ) { }
69 virtual ~connection_info() { }
70
74 const tom::String &
75 get_uri() const { return m_uri; }
76
77 protected:
78 tom::String m_uri;
79 };
92 class TOM_UTIL_API session
93 {
94 public:
95
96 virtual
97 ~session() { };
98
103 virtual
104 const connection_meta_data_vec &
106
110 virtual
111 const tom::String &
112 name() const = 0;
113
118 virtual
119 const provider &
120 get_provider() const = 0;
121
126 virtual
127 connection_sptr
129
134 virtual
135 connection_sptr
137
143 virtual
144 void
145 extended_functions( const observation &cmd, const observation &args );
146
152 void
153 extended_functions( const observation &cmd, const char *args )
154 {
155 return extended_functions( cmd, String(args) );
156 }
162 void
163 extended_functions( const char *cmd, const observation &args )
164 {
165 return extended_functions( String(cmd), args );
166 }
172 void
173 extended_functions( const char *cmd, const char *args )
174 {
175 return extended_functions( String(cmd), String(args) );
176 }
177 protected:
178 session() { }
179 };
180
181 } // end tsdb namespace
182
183} // end tom namespace
184
185#endif
Definition string.hpp:15
Definition observation.hpp:13
Definition session.hpp:60
const tom::String & get_uri() const
Definition session.hpp:75
connection_info(const tom::observation &uri)
Definition session.hpp:68
Definition session.hpp:21
const tom::String & uri() const
Definition session.hpp:45
const tom::String & name() const
Definition session.hpp:34
const tom::String & description() const
Definition session.hpp:39
Definition provider.hpp:58
Definition session.hpp:93
void extended_functions(const char *cmd, const char *args)
Definition session.hpp:173
virtual connection_sptr get_connection()=0
virtual const tom::String & name() const =0
virtual const connection_meta_data_vec & get_connections_meta_data() const =0
void extended_functions(const char *cmd, const observation &args)
Definition session.hpp:163
virtual const provider & get_provider() const =0
virtual connection_sptr get_connection(const connection_info &)=0
void extended_functions(const observation &cmd, const char *args)
Definition session.hpp:153