DotNetDupe
4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Toggle main menu visibility
Loading...
Searching...
No Matches
DatabaseEngine.h
Go to the documentation of this file.
1
#pragma once
2
#include "
Common.h
"
3
#include "
System/Data/Internal/IDatabaseBackend.h
"
4
#include "
System/SmartPointer.h
"
5
#include "
System/String.h
"
6
#include "
System/Collections/Generic/List.h
"
7
#include "
System/Collections/Generic/Dictionary.h
"
8
9
namespace
DotNetDupe
{
10
namespace
System
{
11
namespace
Data
{
12
namespace
Internal
{
13
21
class
DatabaseEngine {
22
private
:
23
struct
Impl;
24
DotNetDupe::System::SmartPointer<Impl>
m_pImpl;
25
26
DatabaseEngine();
27
~DatabaseEngine();
28
29
public
:
32
DOTNETDUPE_API
static
DatabaseEngine&
Instance
();
33
37
DOTNETDUPE_API
void
RegisterBackend
(
const
DotNetDupe::System::String
& dbName,
DotNetDupe::System::SmartPointer<IDatabaseBackend>
backend);
38
42
DOTNETDUPE_API
DotNetDupe::System::SmartPointer<IDatabaseBackend>
GetBackend
(
const
DotNetDupe::System::String
& dbName);
43
46
DOTNETDUPE_API
void
ClearDatabase
(
const
DotNetDupe::System::String
& dbName);
47
55
DOTNETDUPE_API
Collections::Generic::List<Row>
Execute
(
56
const
DotNetDupe::System::String
& dbName,
57
const
String
& sql,
58
const
Collections::Generic::Dictionary<String, String>
& parameters,
59
Collections::Generic::List<String>
& columnNames,
60
int
& rowsAffected
61
);
62
};
63
64
}
65
}
66
}
67
}
Common.h
Defines common cross-platform macros, export decorators, and fundamental types.
DOTNETDUPE_API
#define DOTNETDUPE_API
Platform-specific linkage decoration for exporting or importing library symbols.
Definition
Common.h:20
Dictionary.h
IDatabaseBackend.h
List.h
Represents a strongly typed list of objects that can be accessed by index mirroring ....
SmartPointer.h
Provides reference-counted and weak pointer memory management primitives ensuring zero raw ownership.
String.h
High-performance UTF-8 / UTF-16 string manipulation class mirroring .NET System.String.
DotNetDupe::System::Collections::Generic::Dictionary
Represents a collection of keys and values.
Definition
Dictionary.h:66
DotNetDupe::System::Collections::Generic::List
Represents a strongly typed list of objects accessible by index.
Definition
List.h:29
DotNetDupe::System::Data::Internal::DatabaseEngine::GetBackend
DotNetDupe::System::SmartPointer< IDatabaseBackend > GetBackend(const DotNetDupe::System::String &dbName)
Retrieves the backend associated with a database name.
Definition
DatabaseEngine.cpp:38
DotNetDupe::System::Data::Internal::DatabaseEngine::ClearDatabase
void ClearDatabase(const DotNetDupe::System::String &dbName)
Clears all contents of the specified database.
Definition
DatabaseEngine.cpp:52
DotNetDupe::System::Data::Internal::DatabaseEngine::RegisterBackend
void RegisterBackend(const DotNetDupe::System::String &dbName, DotNetDupe::System::SmartPointer< IDatabaseBackend > backend)
Registers a backend instance for a specific database name.
Definition
DatabaseEngine.cpp:30
DotNetDupe::System::Data::Internal::DatabaseEngine::Execute
Collections::Generic::List< Row > Execute(const DotNetDupe::System::String &dbName, const String &sql, const Collections::Generic::Dictionary< String, String > ¶meters, Collections::Generic::List< String > &columnNames, int &rowsAffected)
Executes a SQL command against the named database backend.
Definition
DatabaseEngine.cpp:62
DotNetDupe::System::Data::Internal::DatabaseEngine::Instance
static DatabaseEngine & Instance()
Retrieves the singleton instance of the DatabaseEngine.
Definition
DatabaseEngine.cpp:24
DotNetDupe::System::SmartPointer
A unified smart pointer that supports both unique and shared ownership semantics.
Definition
SmartPointer.h:72
DotNetDupe::System::String
Represents text as a sequence of UTF-8 code units with culture-invariant operations.
Definition
String.h:74
DotNetDupe::System::Data::Internal
Definition
DatabaseEngine.h:12
DotNetDupe::System::Data
Definition
DbCommand.h:11
DotNetDupe::System
Definition
Action.h:11
DotNetDupe
Definition
IServiceCollection.h:7
Include
System
Data
Internal
DatabaseEngine.h
Generated by
1.18.0