OpenKO Database Model
Table- and column-level documentation generated from the jsonSchema
Loading...
Searching...
No Matches
VersionManagerBinder.h
1#ifndef VERSIONMANAGER_BINDER_VERSIONMANAGERBINDER_H
2#define VERSIONMANAGER_BINDER_VERSIONMANAGERBINDER_H
3
4#pragma once
5
6#include <ModelUtil/ModelUtil.h>
7#include <string>
8#include <unordered_map>
9
10namespace nanodbc
11{
12 class result;
13}
14
15namespace versionmanager_model
16{
17 class Concurrent;
18 class CurrentUser;
19 class TbUser;
20 class Version;
21}
22
23namespace versionmanager_binder
24{
27 {
29 public:
30 typedef void (*BindColumnFunction_t)(versionmanager_model::Concurrent& m, const nanodbc::result& result, short colIndex);
31
32 using BindingsMapType = std::unordered_map<std::string, BindColumnFunction_t>;
33
35 static const BindingsMapType& GetColumnBindings();
36
38 static void BindServerId(versionmanager_model::Concurrent& m, const nanodbc::result& result, short colIndex);
39
41 static void BindZone1Count(versionmanager_model::Concurrent& m, const nanodbc::result& result, short colIndex);
42
44 static void BindZone2Count(versionmanager_model::Concurrent& m, const nanodbc::result& result, short colIndex);
45
47 static void BindZone3Count(versionmanager_model::Concurrent& m, const nanodbc::result& result, short colIndex);
48
49 };
50
53 {
55 public:
56 typedef void (*BindColumnFunction_t)(versionmanager_model::CurrentUser& m, const nanodbc::result& result, short colIndex);
57
58 using BindingsMapType = std::unordered_map<std::string, BindColumnFunction_t>;
59
61 static const BindingsMapType& GetColumnBindings();
62
64 static void BindServerId(versionmanager_model::CurrentUser& m, const nanodbc::result& result, short colIndex);
65
67 static void BindServerIP(versionmanager_model::CurrentUser& m, const nanodbc::result& result, short colIndex);
68
70 static void BindAccountId(versionmanager_model::CurrentUser& m, const nanodbc::result& result, short colIndex);
71
72 };
73
75 class TbUser
76 {
78 public:
79 typedef void (*BindColumnFunction_t)(versionmanager_model::TbUser& m, const nanodbc::result& result, short colIndex);
80
81 using BindingsMapType = std::unordered_map<std::string, BindColumnFunction_t>;
82
84 static const BindingsMapType& GetColumnBindings();
85
87 static void BindAccountId(versionmanager_model::TbUser& m, const nanodbc::result& result, short colIndex);
88
90 static void BindPassword(versionmanager_model::TbUser& m, const nanodbc::result& result, short colIndex);
91
93 static void BindAuthority(versionmanager_model::TbUser& m, const nanodbc::result& result, short colIndex);
94
95 };
96
98 class Version
99 {
101 public:
102 typedef void (*BindColumnFunction_t)(versionmanager_model::Version& m, const nanodbc::result& result, short colIndex);
103
104 using BindingsMapType = std::unordered_map<std::string, BindColumnFunction_t>;
105
107 static const BindingsMapType& GetColumnBindings();
108
110 static void BindNumber(versionmanager_model::Version& m, const nanodbc::result& result, short colIndex);
111
113 static void BindFileName(versionmanager_model::Version& m, const nanodbc::result& result, short colIndex);
114
116 static void BindCompressName(versionmanager_model::Version& m, const nanodbc::result& result, short colIndex);
117
119 static void BindHistoryVersion(versionmanager_model::Version& m, const nanodbc::result& result, short colIndex);
120
121 };
122}
123
124#endif // VERSIONMANAGER_BINDER_VERSIONMANAGERBINDER_H
generated nanodbc column binder for versionmanager_model::Concurrent
Definition VersionManagerBinder.h:27
static void BindServerId(versionmanager_model::Concurrent &m, const nanodbc::result &result, short colIndex)
Binds a result's column to ServerId.
Definition VersionManagerBinder.cpp:22
static void BindZone2Count(versionmanager_model::Concurrent &m, const nanodbc::result &result, short colIndex)
Binds a result's column to Zone2Count.
Definition VersionManagerBinder.cpp:34
static const BindingsMapType & GetColumnBindings()
Returns the binding function associated with the column name.
Definition VersionManagerBinder.cpp:9
static void BindZone1Count(versionmanager_model::Concurrent &m, const nanodbc::result &result, short colIndex)
Binds a result's column to Zone1Count.
Definition VersionManagerBinder.cpp:28
static void BindZone3Count(versionmanager_model::Concurrent &m, const nanodbc::result &result, short colIndex)
Binds a result's column to Zone3Count.
Definition VersionManagerBinder.cpp:40
generated nanodbc column binder for versionmanager_model::CurrentUser
Definition VersionManagerBinder.h:53
static void BindServerId(versionmanager_model::CurrentUser &m, const nanodbc::result &result, short colIndex)
Binds a result's column to ServerId.
Definition VersionManagerBinder.cpp:58
static const BindingsMapType & GetColumnBindings()
Returns the binding function associated with the column name.
Definition VersionManagerBinder.cpp:46
static void BindAccountId(versionmanager_model::CurrentUser &m, const nanodbc::result &result, short colIndex)
Binds a result's column to AccountId.
Definition VersionManagerBinder.cpp:70
static void BindServerIP(versionmanager_model::CurrentUser &m, const nanodbc::result &result, short colIndex)
Binds a result's column to ServerIP.
Definition VersionManagerBinder.cpp:64
generated nanodbc column binder for versionmanager_model::TbUser
Definition VersionManagerBinder.h:76
static void BindAuthority(versionmanager_model::TbUser &m, const nanodbc::result &result, short colIndex)
Binds a result's column to Authority.
Definition VersionManagerBinder.cpp:100
static void BindPassword(versionmanager_model::TbUser &m, const nanodbc::result &result, short colIndex)
Binds a result's column to Password.
Definition VersionManagerBinder.cpp:94
static void BindAccountId(versionmanager_model::TbUser &m, const nanodbc::result &result, short colIndex)
Binds a result's column to AccountId.
Definition VersionManagerBinder.cpp:88
static const BindingsMapType & GetColumnBindings()
Returns the binding function associated with the column name.
Definition VersionManagerBinder.cpp:76
generated nanodbc column binder for versionmanager_model::Version
Definition VersionManagerBinder.h:99
static const BindingsMapType & GetColumnBindings()
Returns the binding function associated with the column name.
Definition VersionManagerBinder.cpp:106
static void BindCompressName(versionmanager_model::Version &m, const nanodbc::result &result, short colIndex)
Binds a result's column to CompressName.
Definition VersionManagerBinder.cpp:131
static void BindHistoryVersion(versionmanager_model::Version &m, const nanodbc::result &result, short colIndex)
Binds a result's column to HistoryVersion.
Definition VersionManagerBinder.cpp:137
static void BindNumber(versionmanager_model::Version &m, const nanodbc::result &result, short colIndex)
Binds a result's column to Number.
Definition VersionManagerBinder.cpp:119
static void BindFileName(versionmanager_model::Version &m, const nanodbc::result &result, short colIndex)
Binds a result's column to FileName.
Definition VersionManagerBinder.cpp:125
[CONCURRENT] Keeps track of concurrent user counts
Definition VersionManagerModel.h:26
[CURRENTUSER] Keeps track of users currently connected to the server
Definition VersionManagerModel.h:78
[TB_USER] User Account Information
Definition VersionManagerModel.h:125
[VERSION] Version data and patch management
Definition VersionManagerModel.h:172