Stroika Library 3.0d23
 
Loading...
Searching...
No Matches
MongoDBClient.inl
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2026. All rights reserved
3 */
4
6
7namespace Stroika::Foundation::Database::Document::MongoDBClient {
8
9#if qStroika_HasComponent_mongocxxdriver
10 /*
11 ********************************************************************************
12 **************** Document::MongoDBClient::AdminConnection::Ptr *****************
13 ********************************************************************************
14 */
15 inline AdminConnection::Ptr::Ptr (const shared_ptr<IRep>& src) noexcept
16 : inherited{src}
17 {
18 }
19 inline AdminConnection::Ptr::Ptr (nullptr_t) noexcept
20 : inherited{nullptr}
21 {
22 }
23 inline Document AdminConnection::Ptr::run_command (const Document& v)
24 {
25 return get ()->run_command (v);
26 }
27 inline mongocxx::client& AdminConnection::Ptr::GetClientRef ()
28 {
29 return get ()->GetClientRef ();
30 }
31 inline Set<String> AdminConnection::Ptr::GetDatabases ()
32 {
33 return get ()->GetDatabases ();
34 }
35 inline void AdminConnection::Ptr::DropDatabase (const String& dbName)
36 {
37 get ()->DropDatabase (dbName);
38 }
39 inline void AdminConnection::Ptr::CreateDatabase (const String& dbName)
40 {
41 get ()->CreateDatabase (dbName);
42 }
43
44 /*
45 ********************************************************************************
46 ******************* Document::MongoDBClient::Connection::Ptr *******************
47 ********************************************************************************
48 */
49 inline Connection::Ptr::Ptr (const Ptr& src)
50 : Ptr{Debug::UncheckedDynamicPointerCast<IRep> (src)}
51 {
52 }
53 inline Connection::Ptr::Ptr (nullptr_t) noexcept
54 : inherited{nullptr}
55 {
56 }
57 inline Connection::Ptr& Connection::Ptr::operator= (const Ptr& src)
58 {
59 inherited::operator= (src);
60 return *this;
61 }
62 inline Connection::Ptr& Connection::Ptr::operator= (Ptr&& src) noexcept
63 {
64 inherited::operator= (move (src));
65 return *this;
66 }
67 inline Connection::IRep* Connection::Ptr::operator->() const noexcept
68 {
69 return Debug::UncheckedDynamicPointerCast<IRep> (*this).get ();
70 }
71#endif
72
73}
std::shared_ptr< T > UncheckedDynamicPointerCast(const std::shared_ptr< T1 > &arg) noexcept
Produce the same result as dynamic_pointer_cast if the successful case (non-null) - with better perfo...
Definition Cast.inl:42
Mapping< String, VariantValue > Document
Definition Document.h:28