-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathblitz.h
98 lines (76 loc) · 2.84 KB
/
blitz.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/*
* Copyright (C) 2014 University of Dundee & Open Microscopy Environment
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef OMERO_MODEL_${name.upper()}I_H
#define OMERO_MODEL_${name.upper()}I_H
#include <omero/IceNoWarnPush.h>
#include <omero/model/${name}.h>
#include <omero/model/Units.h>
#include <omero/IceNoWarnPop.h>
#include <omero/conversions.h>
#ifndef OMERO_CLIENT
# ifdef OMERO_CLIENT_EXPORTS
# define OMERO_CLIENT ICE_DECLSPEC_EXPORT
# else
# define OMERO_CLIENT ICE_DECLSPEC_IMPORT
# endif
#endif
namespace omero {
namespace model {
class ${name}I;
}
}
namespace IceInternal {
OMERO_CLIENT ::Ice::Object* upCast(::omero::model::${name}I*);
}
namespace omero {
namespace model {
typedef IceInternal::Handle<${name}I> ${name}IPtr;
class OMERO_CLIENT ${name}I : virtual public ${name} {
protected:
virtual ~${name}I(); // protected as outlined in Ice docs.
static std::map<enums::Units${name},
std::map<enums::Units${name},
omero::conversions::ConversionPtr> > CONVERSIONS;
static std::map<enums::Units${name}, std::string> SYMBOLS;
public:
static std::string lookupSymbol(enums::Units${name} unit) {
return SYMBOLS[unit];
}
${name}I();
${name}I(const double& value, const enums::Units${name}& unit);
// Conversion constructor
${name}I(const ${name}Ptr& value, const enums::Units${name}& target);
virtual Ice::Double getValue(
const Ice::Current& current = Ice::Current());
virtual void setValue(
Ice::Double value,
const Ice::Current& current = Ice::Current());
virtual enums::Units${name} getUnit(
const Ice::Current& current = Ice::Current());
virtual void setUnit(
enums::Units${name} unit,
const Ice::Current& current = Ice::Current());
virtual std::string getSymbol(
const Ice::Current& current = Ice::Current());
virtual ${name}Ptr copy(
const Ice::Current& = Ice::Current());
};
}
}
#endif // OMERO_MODEL_${name.upper()}I_H