annotate OrthancServer/Sources/ServerEnumerations.h @ 5654:b89439c14916

back to mainline
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 05 Jun 2024 17:53:00 +0200
parents f7adfb22e20e
children 3765085693e5 078b724dcbf8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
183
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 /**
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 * Orthanc - A Lightweight, RESTful DICOM Store
1900
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1860
diff changeset
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
1288
6e7e5ed91c2d upgrade to year 2015
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1189
diff changeset
4 * Department, University Hospital of Liege, Belgium
5640
f7adfb22e20e updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 5485
diff changeset
5 * Copyright (C) 2017-2023 Osimis S.A., Belgium
f7adfb22e20e updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 5485
diff changeset
6 * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium
5485
48b8dae6dc77 upgrade to year 2024
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 5316
diff changeset
7 * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
183
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 *
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 * This program is free software: you can redistribute it and/or
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 * modify it under the terms of the GNU General Public License as
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 * published by the Free Software Foundation, either version 3 of the
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 * License, or (at your option) any later version.
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 *
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful, but
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 * General Public License for more details.
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 *
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 * along with this program. If not, see <http://www.gnu.org/licenses/>.
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 **/
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 #pragma once
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24
204
7f4acf490179 changes api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
25 #include <string>
1006
649d47854314 proper handling of metadata in Store
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 789
diff changeset
26 #include <map>
204
7f4acf490179 changes api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
27
4045
05b8fd21089c fix path
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
28 #include "../../OrthancFramework/Sources/Enumerations.h"
05b8fd21089c fix path
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
29 #include "../../OrthancFramework/Sources/DicomFormat/DicomTag.h"
562
f64e3838d6e1 refactoring enumerations
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 559
diff changeset
30
183
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 namespace Orthanc
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 {
4273
0034f855c023 tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4096
diff changeset
33 enum Verbosity
0034f855c023 tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4096
diff changeset
34 {
0034f855c023 tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4096
diff changeset
35 Verbosity_Default,
0034f855c023 tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4096
diff changeset
36 Verbosity_Verbose,
0034f855c023 tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4096
diff changeset
37 Verbosity_Trace
0034f855c023 tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4096
diff changeset
38 };
0034f855c023 tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4096
diff changeset
39
183
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 enum SeriesStatus
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 {
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 SeriesStatus_Complete,
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 SeriesStatus_Missing,
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 SeriesStatus_Inconsistent,
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 SeriesStatus_Unknown
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 };
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 enum StoreStatus
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 {
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 StoreStatus_Success,
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 StoreStatus_AlreadyStored,
397
941ea46e9e26 lua filter of new instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 348
diff changeset
52 StoreStatus_Failure,
5061
e95fadefeb72 new MaximumStorageMode configuration
Alain Mazy <am@osimis.io>
parents: 5058
diff changeset
53 StoreStatus_FilteredOut, // Removed by NewInstanceFilter or ReceivedInstanceCallback
e95fadefeb72 new MaximumStorageMode configuration
Alain Mazy <am@osimis.io>
parents: 5058
diff changeset
54 StoreStatus_StorageFull // new in Orthanc 1.11.2
e95fadefeb72 new MaximumStorageMode configuration
Alain Mazy <am@osimis.io>
parents: 5058
diff changeset
55 };
e95fadefeb72 new MaximumStorageMode configuration
Alain Mazy <am@osimis.io>
parents: 5058
diff changeset
56
e95fadefeb72 new MaximumStorageMode configuration
Alain Mazy <am@osimis.io>
parents: 5058
diff changeset
57 enum MaxStorageMode
e95fadefeb72 new MaximumStorageMode configuration
Alain Mazy <am@osimis.io>
parents: 5058
diff changeset
58 {
e95fadefeb72 new MaximumStorageMode configuration
Alain Mazy <am@osimis.io>
parents: 5058
diff changeset
59 MaxStorageMode_Recycle,
e95fadefeb72 new MaximumStorageMode configuration
Alain Mazy <am@osimis.io>
parents: 5058
diff changeset
60 MaxStorageMode_Reject
183
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 };
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62
2892
ce310baccda6 DicomTagConstraint and DatabaseLookup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2774
diff changeset
63 enum DicomTagType
ce310baccda6 DicomTagConstraint and DatabaseLookup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2774
diff changeset
64 {
ce310baccda6 DicomTagConstraint and DatabaseLookup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2774
diff changeset
65 DicomTagType_Identifier, // Tag that whose value is stored and indexed in the DB
ce310baccda6 DicomTagConstraint and DatabaseLookup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2774
diff changeset
66 DicomTagType_Main, // Tag that is stored in the DB (but not indexed)
ce310baccda6 DicomTagConstraint and DatabaseLookup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2774
diff changeset
67 DicomTagType_Generic // Tag that is only stored in the JSON files
ce310baccda6 DicomTagConstraint and DatabaseLookup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2774
diff changeset
68 };
ce310baccda6 DicomTagConstraint and DatabaseLookup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2774
diff changeset
69
3077
aae1d6d31fef compatibility with orthanc-databases
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3061
diff changeset
70 namespace Compatibility
aae1d6d31fef compatibility with orthanc-databases
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3061
diff changeset
71 {
aae1d6d31fef compatibility with orthanc-databases
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3061
diff changeset
72 enum IdentifierConstraintType
aae1d6d31fef compatibility with orthanc-databases
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3061
diff changeset
73 {
aae1d6d31fef compatibility with orthanc-databases
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3061
diff changeset
74 IdentifierConstraintType_Equal,
aae1d6d31fef compatibility with orthanc-databases
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3061
diff changeset
75 IdentifierConstraintType_SmallerOrEqual,
aae1d6d31fef compatibility with orthanc-databases
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3061
diff changeset
76 IdentifierConstraintType_GreaterOrEqual,
aae1d6d31fef compatibility with orthanc-databases
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3061
diff changeset
77 IdentifierConstraintType_Wildcard /* Case sensitive, "*" or "?" are the only allowed wildcards */
aae1d6d31fef compatibility with orthanc-databases
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3061
diff changeset
78 };
aae1d6d31fef compatibility with orthanc-databases
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3061
diff changeset
79 }
aae1d6d31fef compatibility with orthanc-databases
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3061
diff changeset
80
3677
4182cde57afb refactoring FindStorageAccessMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
81 enum FindStorageAccessMode
4182cde57afb refactoring FindStorageAccessMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
82 {
4182cde57afb refactoring FindStorageAccessMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
83 FindStorageAccessMode_DatabaseOnly,
4182cde57afb refactoring FindStorageAccessMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
84 FindStorageAccessMode_DiskOnAnswer,
4182cde57afb refactoring FindStorageAccessMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
85 FindStorageAccessMode_DiskOnLookupAndAnswer
4182cde57afb refactoring FindStorageAccessMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
86 };
4182cde57afb refactoring FindStorageAccessMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
87
3814
023b2a9f3aa1 new enum: StoreInstanceMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3677
diff changeset
88 enum StoreInstanceMode
023b2a9f3aa1 new enum: StoreInstanceMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3677
diff changeset
89 {
023b2a9f3aa1 new enum: StoreInstanceMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3677
diff changeset
90 StoreInstanceMode_Default,
023b2a9f3aa1 new enum: StoreInstanceMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3677
diff changeset
91 StoreInstanceMode_OverwriteDuplicate,
023b2a9f3aa1 new enum: StoreInstanceMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3677
diff changeset
92 StoreInstanceMode_IgnoreDuplicate
023b2a9f3aa1 new enum: StoreInstanceMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3677
diff changeset
93 };
023b2a9f3aa1 new enum: StoreInstanceMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3677
diff changeset
94
4469
5ffa4e14e4bd move old enum TransferSyntax from OrthancFramework to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4460
diff changeset
95 // This enum was previously part of Orthanc framework (until 1.8.2)
4472
28a4baadde17 rename TransferSyntax enum as TransferSyntaxGroup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4469
diff changeset
96 enum TransferSyntaxGroup
4469
5ffa4e14e4bd move old enum TransferSyntax from OrthancFramework to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4460
diff changeset
97 {
4472
28a4baadde17 rename TransferSyntax enum as TransferSyntaxGroup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4469
diff changeset
98 TransferSyntaxGroup_Deflated,
28a4baadde17 rename TransferSyntax enum as TransferSyntaxGroup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4469
diff changeset
99 TransferSyntaxGroup_Jpeg,
28a4baadde17 rename TransferSyntax enum as TransferSyntaxGroup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4469
diff changeset
100 TransferSyntaxGroup_Jpeg2000,
28a4baadde17 rename TransferSyntax enum as TransferSyntaxGroup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4469
diff changeset
101 TransferSyntaxGroup_JpegLossless,
28a4baadde17 rename TransferSyntax enum as TransferSyntaxGroup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4469
diff changeset
102 TransferSyntaxGroup_Jpip,
28a4baadde17 rename TransferSyntax enum as TransferSyntaxGroup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4469
diff changeset
103 TransferSyntaxGroup_Mpeg2,
4474
f8c1d94363b6 new configuration options: "AcceptedTransferSyntaxes" and "H265TransferSyntaxAccepted"
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4473
diff changeset
104 TransferSyntaxGroup_Rle,
4472
28a4baadde17 rename TransferSyntax enum as TransferSyntaxGroup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4469
diff changeset
105 TransferSyntaxGroup_Mpeg4, // New in Orthanc 1.6.0
4474
f8c1d94363b6 new configuration options: "AcceptedTransferSyntaxes" and "H265TransferSyntaxAccepted"
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4473
diff changeset
106 TransferSyntaxGroup_H265 // New in Orthanc 1.9.0
4469
5ffa4e14e4bd move old enum TransferSyntax from OrthancFramework to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4460
diff changeset
107 };
5ffa4e14e4bd move old enum TransferSyntax from OrthancFramework to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4460
diff changeset
108
4570
648defffc8cc new enum: TransactionType
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4494
diff changeset
109 enum TransactionType
648defffc8cc new enum: TransactionType
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4494
diff changeset
110 {
648defffc8cc new enum: TransactionType
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4494
diff changeset
111 TransactionType_ReadOnly,
648defffc8cc new enum: TransactionType
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4494
diff changeset
112 TransactionType_ReadWrite
648defffc8cc new enum: TransactionType
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4494
diff changeset
113 };
648defffc8cc new enum: TransactionType
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4494
diff changeset
114
232
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
115
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
116 /**
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
117 * WARNING: Do not change the explicit values in the enumerations
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
118 * below this point. This would result in incompatible databases
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
119 * between versions of Orthanc!
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
120 **/
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
121
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
122 enum GlobalProperty
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
123 {
1668
de1413733c97 reconstructing main dicom tags
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1555
diff changeset
124 GlobalProperty_DatabaseSchemaVersion = 1, // Unused in the Orthanc core as of Orthanc 0.9.5
4580
49f6b9a2b9f5 remove the only use of GlobalProperty_FlushSleep
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4570
diff changeset
125 GlobalProperty_FlushSleep = 2, // Unused in the Orthanc core if Orthanc > 1.9.1
2300
cc92410cbed2 GlobalProperty_DatabasePatchLevel
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2244
diff changeset
126 GlobalProperty_AnonymizationSequence = 3,
2695
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
127 GlobalProperty_JobsRegistry = 5,
3019
8336204d95dc refactoring computation of disk size for recycling
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3018
diff changeset
128 GlobalProperty_GetTotalSizeIsFast = 6, // New in Orthanc 1.5.2
2988
9cc3d40e389b Orthanc 1.4.3 is now known as 1.5.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2946
diff changeset
129 GlobalProperty_Modalities = 20, // New in Orthanc 1.5.0
9cc3d40e389b Orthanc 1.4.3 is now known as 1.5.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2946
diff changeset
130 GlobalProperty_Peers = 21, // New in Orthanc 1.5.0
2695
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
131
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
132 // Reserved values for internal use by the database plugins
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
133 GlobalProperty_DatabasePatchLevel = 4,
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
134 GlobalProperty_DatabaseInternal0 = 10,
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
135 GlobalProperty_DatabaseInternal1 = 11,
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
136 GlobalProperty_DatabaseInternal2 = 12,
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
137 GlobalProperty_DatabaseInternal3 = 13,
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
138 GlobalProperty_DatabaseInternal4 = 14,
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
139 GlobalProperty_DatabaseInternal5 = 15,
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
140 GlobalProperty_DatabaseInternal6 = 16,
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
141 GlobalProperty_DatabaseInternal7 = 17,
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
142 GlobalProperty_DatabaseInternal8 = 18,
c4ee0bedb51b some reserved global properties for plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2668
diff changeset
143 GlobalProperty_DatabaseInternal9 = 19
232
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
144 };
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
145
183
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
146 enum MetadataType
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147 {
232
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
148 MetadataType_Instance_IndexInSeries = 1,
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
149 MetadataType_Instance_ReceptionDate = 2,
4460
6831de40acd9 New metadata automatically computed at the series level: "RemoteAET"
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4437
diff changeset
150 MetadataType_RemoteAet = 3, // Renamed from "MetadataType_Series_RemoteAet" in Orthanc 1.9.0
306
326d5a4a5af3 modification of instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 252
diff changeset
151 MetadataType_Series_ExpectedNumberOfInstances = 4,
311
26efccdff583 anonymisation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 310
diff changeset
152 MetadataType_ModifiedFrom = 5,
432
2b09d4ee86c6 refactoring
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 407
diff changeset
153 MetadataType_AnonymizedFrom = 6,
435
28ba73274919 registration of user-defined metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 434
diff changeset
154 MetadataType_LastUpdate = 7,
4494
39192eb9b43d New metadata automatically computed at the instance level: "PixelDataOffset"
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4474
diff changeset
155 MetadataType_Instance_Origin = 8, // New in Orthanc 0.9.5
39192eb9b43d New metadata automatically computed at the instance level: "PixelDataOffset"
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4474
diff changeset
156 MetadataType_Instance_TransferSyntax = 9, // New in Orthanc 1.2.0
39192eb9b43d New metadata automatically computed at the instance level: "PixelDataOffset"
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4474
diff changeset
157 MetadataType_Instance_SopClassUid = 10, // New in Orthanc 1.2.0
39192eb9b43d New metadata automatically computed at the instance level: "PixelDataOffset"
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4474
diff changeset
158 MetadataType_Instance_RemoteIp = 11, // New in Orthanc 1.4.0
39192eb9b43d New metadata automatically computed at the instance level: "PixelDataOffset"
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4474
diff changeset
159 MetadataType_Instance_CalledAet = 12, // New in Orthanc 1.4.0
39192eb9b43d New metadata automatically computed at the instance level: "PixelDataOffset"
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4474
diff changeset
160 MetadataType_Instance_HttpUsername = 13, // New in Orthanc 1.4.0
39192eb9b43d New metadata automatically computed at the instance level: "PixelDataOffset"
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4474
diff changeset
161 MetadataType_Instance_PixelDataOffset = 14, // New in Orthanc 1.9.0
4934
94a7b681b340 added configuration for extra main dicom tags + save signature in metadata + show warning if inconsistent main dicom tags
Alain Mazy <am@osimis.io>
parents: 4892
diff changeset
162 MetadataType_MainDicomTagsSignature = 15, // New in Orthanc 1.11.0
5036
877bc3b96476 Handle Dicom sequences in ExtraMainDicomTags and save them in the 'MainDicomSequences' metadata
Alain Mazy <am@osimis.io>
parents: 4977
diff changeset
163 MetadataType_MainDicomSequences = 16, // New in Orthanc 1.11.1
5316
03501a258d9e added instance metadata "PixelDataVR"
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 5204
diff changeset
164 MetadataType_Instance_PixelDataVR = 17, // New in Orthanc 1.12.1
4934
94a7b681b340 added configuration for extra main dicom tags + save signature in metadata + show warning if inconsistent main dicom tags
Alain Mazy <am@osimis.io>
parents: 4892
diff changeset
165
435
28ba73274919 registration of user-defined metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 434
diff changeset
166 // Make sure that the value "65535" can be stored into this enumeration
28ba73274919 registration of user-defined metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 434
diff changeset
167 MetadataType_StartUser = 1024,
28ba73274919 registration of user-defined metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 434
diff changeset
168 MetadataType_EndUser = 65535
183
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
169 };
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
170
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
171 enum ChangeType
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
172 {
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
173 ChangeType_CompletedSeries = 1,
232
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
174 ChangeType_NewInstance = 2,
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
175 ChangeType_NewPatient = 3,
5368bbe813cf refactoring of attachments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 221
diff changeset
176 ChangeType_NewSeries = 4,
315
fc856d175d18 modifications
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 311
diff changeset
177 ChangeType_NewStudy = 5,
fc856d175d18 modifications
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 311
diff changeset
178 ChangeType_AnonymizedStudy = 6,
fc856d175d18 modifications
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 311
diff changeset
179 ChangeType_AnonymizedSeries = 7,
fc856d175d18 modifications
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 311
diff changeset
180 ChangeType_ModifiedStudy = 8,
348
1082e8121d10 refactoring anonymization/modification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 315
diff changeset
181 ChangeType_ModifiedSeries = 9,
1082e8121d10 refactoring anonymization/modification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 315
diff changeset
182 ChangeType_AnonymizedPatient = 10,
511
3b735fdf320b monitoring of stable patients/studies/series
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 437
diff changeset
183 ChangeType_ModifiedPatient = 11,
3b735fdf320b monitoring of stable patients/studies/series
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 437
diff changeset
184 ChangeType_StablePatient = 12,
3b735fdf320b monitoring of stable patients/studies/series
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 437
diff changeset
185 ChangeType_StableStudy = 13,
1177
5b2d8c280ac2 Plugins can monitor changes through callbacks
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1163
diff changeset
186 ChangeType_StableSeries = 14,
1773
613df4362575 New UpdatedAttachment and UpdatedMetadata events in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1772
diff changeset
187 ChangeType_UpdatedAttachment = 15,
613df4362575 New UpdatedAttachment and UpdatedMetadata events in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1772
diff changeset
188 ChangeType_UpdatedMetadata = 16,
1189
6b9b02a16e99 NewChildInstance change type
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1177
diff changeset
189
6b9b02a16e99 NewChildInstance change type
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1177
diff changeset
190 ChangeType_INTERNAL_LastLogged = 4095,
6b9b02a16e99 NewChildInstance change type
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1177
diff changeset
191
6b9b02a16e99 NewChildInstance change type
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1177
diff changeset
192 // The changes below this point are not logged into the database
6b9b02a16e99 NewChildInstance change type
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1177
diff changeset
193 ChangeType_Deleted = 4096,
6b9b02a16e99 NewChildInstance change type
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1177
diff changeset
194 ChangeType_NewChildInstance = 4097
183
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
195 };
197
530a25320461 removal of text as ids in sqlite db
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 183
diff changeset
196
3931
e6606d3ec892 new configuration option: BuiltinDecoderTranscoderOrder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3814
diff changeset
197 enum BuiltinDecoderTranscoderOrder
e6606d3ec892 new configuration option: BuiltinDecoderTranscoderOrder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3814
diff changeset
198 {
e6606d3ec892 new configuration option: BuiltinDecoderTranscoderOrder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3814
diff changeset
199 BuiltinDecoderTranscoderOrder_Before,
e6606d3ec892 new configuration option: BuiltinDecoderTranscoderOrder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3814
diff changeset
200 BuiltinDecoderTranscoderOrder_After,
e6606d3ec892 new configuration option: BuiltinDecoderTranscoderOrder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3814
diff changeset
201 BuiltinDecoderTranscoderOrder_Disabled
e6606d3ec892 new configuration option: BuiltinDecoderTranscoderOrder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3814
diff changeset
202 };
e6606d3ec892 new configuration option: BuiltinDecoderTranscoderOrder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3814
diff changeset
203
4977
dad71e6da406 pre-filtering studies without ModalitiesInStudies first
Alain Mazy <am@osimis.io>
parents: 4934
diff changeset
204 enum Warnings
dad71e6da406 pre-filtering studies without ModalitiesInStudies first
Alain Mazy <am@osimis.io>
parents: 4934
diff changeset
205 {
dad71e6da406 pre-filtering studies without ModalitiesInStudies first
Alain Mazy <am@osimis.io>
parents: 4934
diff changeset
206 Warnings_None,
dad71e6da406 pre-filtering studies without ModalitiesInStudies first
Alain Mazy <am@osimis.io>
parents: 4934
diff changeset
207 Warnings_001_TagsBeingReadFromStorage,
dad71e6da406 pre-filtering studies without ModalitiesInStudies first
Alain Mazy <am@osimis.io>
parents: 4934
diff changeset
208 Warnings_002_InconsistentDicomTagsInDb,
dad71e6da406 pre-filtering studies without ModalitiesInStudies first
Alain Mazy <am@osimis.io>
parents: 4934
diff changeset
209 };
1006
649d47854314 proper handling of metadata in Store
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 789
diff changeset
210
649d47854314 proper handling of metadata in Store
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 789
diff changeset
211
435
28ba73274919 registration of user-defined metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 434
diff changeset
212 void InitializeServerEnumerations();
28ba73274919 registration of user-defined metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 434
diff changeset
213
28ba73274919 registration of user-defined metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 434
diff changeset
214 void RegisterUserMetadata(int metadata,
656
08eca5d86aad fixes to cppcheck
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 620
diff changeset
215 const std::string& name);
435
28ba73274919 registration of user-defined metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 434
diff changeset
216
28ba73274919 registration of user-defined metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 434
diff changeset
217 MetadataType StringToMetadata(const std::string& str);
28ba73274919 registration of user-defined metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 434
diff changeset
218
437
beca6747945e PUT on metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 435
diff changeset
219 std::string EnumerationToString(MetadataType type);
435
28ba73274919 registration of user-defined metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 434
diff changeset
220
5204
08e0c9c0ab39 added UserMetadata in /system
Alain Mazy <am@osimis.io>
parents: 5185
diff changeset
221 void GetRegisteredUserMetadata(std::map<std::string, int>& allEntries);
08e0c9c0ab39 added UserMetadata in /system
Alain Mazy <am@osimis.io>
parents: 5185
diff changeset
222
696
4c1860179cc5 dictionary of user-defined content types
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 689
diff changeset
223 void RegisterUserContentType(int contentType,
1772
53e045b5a8ec MIME content type can be associated to custom attachments (cf. "UserContentType")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1746
diff changeset
224 const std::string& name,
53e045b5a8ec MIME content type can be associated to custom attachments (cf. "UserContentType")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1746
diff changeset
225 const std::string& mime);
696
4c1860179cc5 dictionary of user-defined content types
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 689
diff changeset
226
4c1860179cc5 dictionary of user-defined content types
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 689
diff changeset
227 FileContentType StringToContentType(const std::string& str);
4c1860179cc5 dictionary of user-defined content types
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 689
diff changeset
228
3677
4182cde57afb refactoring FindStorageAccessMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
229 FindStorageAccessMode StringToFindStorageAccessMode(const std::string& str);
4182cde57afb refactoring FindStorageAccessMode
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
230
5061
e95fadefeb72 new MaximumStorageMode configuration
Alain Mazy <am@osimis.io>
parents: 5058
diff changeset
231 MaxStorageMode StringToMaxStorageMode(const std::string& str);
e95fadefeb72 new MaximumStorageMode configuration
Alain Mazy <am@osimis.io>
parents: 5058
diff changeset
232
5058
d4e5ca0c9307 Fix the "Never" option of the "StorageAccessOnFind" that was sill accessing files (bug introduced in 1.11.0)
Alain Mazy <am@osimis.io>
parents: 5036
diff changeset
233 bool IsStorageAccessAllowedForAnswers(FindStorageAccessMode mode);
d4e5ca0c9307 Fix the "Never" option of the "StorageAccessOnFind" that was sill accessing files (bug introduced in 1.11.0)
Alain Mazy <am@osimis.io>
parents: 5036
diff changeset
234
d4e5ca0c9307 Fix the "Never" option of the "StorageAccessOnFind" that was sill accessing files (bug introduced in 1.11.0)
Alain Mazy <am@osimis.io>
parents: 5036
diff changeset
235 bool IsStorageAccessAllowedForLookup(FindStorageAccessMode mode);
d4e5ca0c9307 Fix the "Never" option of the "StorageAccessOnFind" that was sill accessing files (bug introduced in 1.11.0)
Alain Mazy <am@osimis.io>
parents: 5036
diff changeset
236
3931
e6606d3ec892 new configuration option: BuiltinDecoderTranscoderOrder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3814
diff changeset
237 BuiltinDecoderTranscoderOrder StringToBuiltinDecoderTranscoderOrder(const std::string& str);
e6606d3ec892 new configuration option: BuiltinDecoderTranscoderOrder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3814
diff changeset
238
4273
0034f855c023 tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4096
diff changeset
239 Verbosity StringToVerbosity(const std::string& str);
0034f855c023 tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4096
diff changeset
240
696
4c1860179cc5 dictionary of user-defined content types
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 689
diff changeset
241 std::string EnumerationToString(FileContentType type);
4c1860179cc5 dictionary of user-defined content types
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 689
diff changeset
242
1772
53e045b5a8ec MIME content type can be associated to custom attachments (cf. "UserContentType")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1746
diff changeset
243 std::string GetFileContentMime(FileContentType type);
53e045b5a8ec MIME content type can be associated to custom attachments (cf. "UserContentType")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1746
diff changeset
244
696
4c1860179cc5 dictionary of user-defined content types
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 689
diff changeset
245 std::string GetBasePath(ResourceType type,
4c1860179cc5 dictionary of user-defined content types
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 689
diff changeset
246 const std::string& publicId);
4c1860179cc5 dictionary of user-defined content types
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 689
diff changeset
247
434
ccf3a0a43dac EnumerationDictionary
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 432
diff changeset
248 const char* EnumerationToString(SeriesStatus status);
204
7f4acf490179 changes api
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
249
434
ccf3a0a43dac EnumerationDictionary
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 432
diff changeset
250 const char* EnumerationToString(StoreStatus status);
216
e5d5d4a9a326 refactored upload of dicom through http
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 206
diff changeset
251
434
ccf3a0a43dac EnumerationDictionary
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 432
diff changeset
252 const char* EnumerationToString(ChangeType type);
250
f23318b11b39 creation of zip files
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 232
diff changeset
253
4273
0034f855c023 tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4096
diff changeset
254 const char* EnumerationToString(Verbosity verbosity);
0034f855c023 tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4096
diff changeset
255
1773
613df4362575 New UpdatedAttachment and UpdatedMetadata events in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1772
diff changeset
256 bool IsUserMetadata(MetadataType type);
4469
5ffa4e14e4bd move old enum TransferSyntax from OrthancFramework to OrthancServer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4460
diff changeset
257
4472
28a4baadde17 rename TransferSyntax enum as TransferSyntaxGroup
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4469
diff changeset
258 void GetTransferSyntaxGroup(std::set<DicomTransferSyntax>& target,
4473
68f52897c119 new URIs: /tools/accepted-transfer-syntaxes and /tools/unknown-sop-class-accepted to replace Lua callbacks for transfer syntaxes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4472
diff changeset
259 TransferSyntaxGroup source);
183
baada606da3c databasewrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
260 }