ATLAS Offline Software
Loading...
Searching...
No Matches
dictionary.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5// This file intentionally sparse on comments
6// It only exists for dictionary generation.
7// Please see quick_retrieve.cxx for detailed information on these functions.
8
9
10#ifdef _POSIX_C_SOURCE
11# undef _POSIX_C_SOURCE
12#endif
13#ifdef _XOPEN_SOURCE
14# undef _XOPEN_SOURCE
15#endif
16// Following needed to avoid deprecated/removed "register" keyword
17#ifdef __clang__
18# pragma clang diagnostic push
19# pragma clang diagnostic ignored "-Wkeyword-macro"
20#endif
21#define register
22#include <Python.h>
23#undef register
24#ifdef __clang__
25# pragma clang diagnostic pop
26#endif
27
28#include <CoolKernel/ChannelSelection.h>
29#include <CoolKernel/IObject.h>
30#include <CoolKernel/IObjectIterator.h>
31#include <CoolKernel/IFolder.h>
32#include <CoolKernel/IDatabase.h>
33#include <CoolKernel/IDatabaseSvc.h>
34
35#include <CoolKernel/IRecordSelection.h>
36#include <CoolKernel/FieldSelection.h>
37
38#include <CoolApplication/DatabaseSvcFactory.h>
39
40#define likely(x) __builtin_expect((x),1)
41#define unlikely(x) __builtin_expect((x),0)
42
43using cool::DatabaseSvcFactory;
44using cool::IDatabasePtr;
45using cool::IObject;
46using cool::IFolder;
47using cool::IFolderPtr;
48using cool::ChannelSelection;
49using cool::IObjectIteratorPtr;
50using cool::IObjectVectorPtr;
51using cool::ValidityKey;
52
53#include <string>
54#include <vector>
55using std::string;
56using std::vector;
57
59struct dict {
60 //cool::IRecordSelection* dummy_irecordselection;
61 const vector<const cool::IRecordSelection*> dummy_recordselection_vector;
62};
63}
64
65// In pythonic_coracool.cxx
66
67const cool::RecordSpecification
68 get_coracool_payload_spec(IDatabasePtr cooldb, const string & folder);
69
70PyObject *browse_coracool(IDatabasePtr cooldb, const string & folder,
71 ValidityKey since, ValidityKey until,
72 const ChannelSelection &cs = ChannelSelection::all(),
73 const char *tag="",
74 PyObject *to_fetch = NULL,
75 PyObject *object_converter = NULL,
76 PyObject *inner_object_converter = NULL,
77 PyObject *iovkey_wrapper = NULL);
78
79// In quick_retrieve.cxx
80
81PyObject* quick_retrieve(const IObjectIteratorPtr& objects,
82 PyObject *object_converter,
83 PyObject *to_fetch = NULL,
84 const long max_records = -1,
85 const bool with_channel = true,
86 const bool loud = false,
87 PyObject *iovkey_wrapper = NULL,
88 PyObject *channel_name_mapping = NULL,
89 const bool with_time = false,
90 const bool as_unicode = false);
91
92cool::FieldSelection* make_fieldselection(
93 const std::string& name,
94 const cool::StorageType::TypeId typeId,
95 cool::FieldSelection::Relation relation,
96 PyObject* refValue);
97
98vector<const cool::IRecordSelection*> make_selection_vector();
_object PyObject
const cool::RecordSpecification get_coracool_payload_spec(IDatabasePtr cooldb, const string &folder)
PyObject * quick_retrieve(const IObjectIteratorPtr &objects, PyObject *object_converter, PyObject *to_fetch=NULL, const long max_records=-1, const bool with_channel=true, const bool loud=false, PyObject *iovkey_wrapper=NULL, PyObject *channel_name_mapping=NULL, const bool with_time=false, const bool as_unicode=false)
PyObject * browse_coracool(IDatabasePtr cooldb, const string &folder, ValidityKey since, ValidityKey until, const ChannelSelection &cs=ChannelSelection::all(), const char *tag="", PyObject *to_fetch=NULL, PyObject *object_converter=NULL, PyObject *inner_object_converter=NULL, PyObject *iovkey_wrapper=NULL)
vector< const cool::IRecordSelection * > make_selection_vector()
cool::FieldSelection * make_fieldselection(const std::string &name, const cool::StorageType::TypeId typeId, cool::FieldSelection::Relation relation, PyObject *refValue)
const vector< const cool::IRecordSelection * > dummy_recordselection_vector
Definition dictionary.h:61