Isis Developer Reference
DbAccess.h
Go to the documentation of this file.
1#ifndef DbAccess_h
2#define DbAccess_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <string>
13#include <vector>
14#include <iostream>
15
16#include "CollectorMap.h"
17#include "DbProfile.h"
18#include "IException.h"
19
20namespace Isis {
21
22
23 class PvlObject;
24
106 class DbAccess : public DbProfile {
107 private:
109 typedef CollectorMap<IString, DbProfile, NoCaseStringCompare>
111
112 public:
113 // Constructors and Destructor
114 DbAccess() : DbProfile("Database"), _defProfileName(""), _profiles() { }
115 DbAccess(const QString &dbaccFile,
116 const QString &defProfileName = "");
117 DbAccess(PvlObject &pvl, const QString &defProfileName = "");
118
120 virtual ~DbAccess() { }
121
127 int profileCount() const {
128 return (_profiles.size());
129 }
130
138 bool profileExists(const QString &profile) const {
139 return (_profiles.exists(profile));
140 }
141
142 const DbProfile getProfile(const QString &name = "") const;
143 const DbProfile getProfile(int nth) const;
144
145
155 void addProfile(const DbProfile &profile) {
156 _profiles.add(profile.Name(), profile);
157 }
158
159 void load(const QString &filename);
160 void load(PvlObject &pvl);
161
162 QString getDefaultProfileName() const;
163
164 private:
165 QString _defProfileName;
166 ProfileList _profiles;
167 };
168
169
170
171
172
173}
174#endif
int size() const
Returns the size of the collection.
Definition CollectorMap.h:512
bool exists(const K &key) const
Checks the existance of a particular key in the list.
Definition CollectorMap.h:551
void add(const K &key, const T &value)
Adds the element to the list.
Definition CollectorMap.h:540
DbAccess manages programatic access to a database through profiles.
Definition DbAccess.h:106
DbAccess()
Definition DbAccess.h:114
const DbProfile getProfile(const QString &name="") const
Retrieves the specified access profile.
Definition DbAccess.cpp:92
void addProfile(const DbProfile &profile)
Adds a profile to the database profile.
Definition DbAccess.h:155
int profileCount() const
Reports the number of user profiles to access this database.
Definition DbAccess.h:127
bool profileExists(const QString &profile) const
Checks existance of a database user profile.
Definition DbAccess.h:138
QString getDefaultProfileName() const
Determine the name of the default profile.
Definition DbAccess.cpp:189
virtual ~DbAccess()
Destructor ensures everything is cleaned up properly.
Definition DbAccess.h:120
void load(const QString &filename)
Loads a Database access configuration file.
Definition DbAccess.cpp:142
A DbProfile is a container for access parameters to a database.
Definition DbProfile.h:51
QString Name() const
Returns the name of this property.
Definition DbProfile.h:104
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16