comparison Framework/Plugins/IDatabaseBackend.h @ 403:91124cc8a8c7 db-protobuf

database plugins are informed about the identifier tags
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 11 Apr 2023 11:10:19 +0200
parents 82921a29349a
children 7c1fe5d6c12c ecd0b719cff5
comparison
equal deleted inserted replaced
402:82921a29349a 403:91124cc8a8c7
25 25
26 #include "../../Resources/Orthanc/Databases/ISqlLookupFormatter.h" 26 #include "../../Resources/Orthanc/Databases/ISqlLookupFormatter.h"
27 #include "../Common/DatabaseManager.h" 27 #include "../Common/DatabaseManager.h"
28 #include "../Common/DatabasesEnumerations.h" 28 #include "../Common/DatabasesEnumerations.h"
29 #include "IDatabaseBackendOutput.h" 29 #include "IDatabaseBackendOutput.h"
30 #include "IdentifierTag.h"
30 31
31 #include <list> 32 #include <list>
32 33
33 namespace OrthancDatabases 34 namespace OrthancDatabases
34 { 35 {
41 42
42 virtual OrthancPluginContext* GetContext() = 0; 43 virtual OrthancPluginContext* GetContext() = 0;
43 44
44 virtual IDatabaseFactory* CreateDatabaseFactory() = 0; 45 virtual IDatabaseFactory* CreateDatabaseFactory() = 0;
45 46
46 // This function is invoked once, even if multiple connections are open 47 /**
47 virtual void ConfigureDatabase(DatabaseManager& database) = 0; 48 * This function is invoked once, even if multiple connections are
49 * open. It is notably used to update the schema of the database.
50 **/
51 virtual void ConfigureDatabase(DatabaseManager& database,
52 bool hasIdentifierTags,
53 const std::list<IdentifierTag>& identifierTags) = 0;
48 54
49 virtual void SetOutputFactory(IDatabaseBackendOutput::IFactory* factory) = 0; 55 virtual void SetOutputFactory(IDatabaseBackendOutput::IFactory* factory) = 0;
50 56
51 virtual IDatabaseBackendOutput* CreateOutput() = 0; 57 virtual IDatabaseBackendOutput* CreateOutput() = 0;
52 58