ARC SDK
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
hed
libs
data
DataHandle.h
1
// -*- indent-tabs-mode: nil -*-
2
3
#ifndef __ARC_DATAHANDLE_H__
4
#define __ARC_DATAHANDLE_H__
5
6
#include <arc/data/DataPoint.h>
7
8
namespace
Arc {
9
10
class
URL;
11
class
UserConfig;
12
14
33
class
DataHandle
{
34
public
:
36
DataHandle
(
const
URL
& url,
const
UserConfig
& usercfg)
37
: p(getLoader().load(url, usercfg)) {}
39
~DataHandle
() {
40
if
(p)
41
delete
p;
42
}
44
DataPoint
*
operator->
() {
45
return
p;
46
}
48
const
DataPoint
*
operator->
()
const
{
49
return
p;
50
}
52
DataPoint
&
operator*
() {
53
return
*p;
54
}
56
const
DataPoint
&
operator*
()
const
{
57
return
*p;
58
}
60
bool
operator!
()
const
{
61
return
!p;
62
}
64
operator
bool()
const
{
65
return
!!p;
66
}
68
72
static
DataPoint
*
GetPoint
(
const
URL
& url,
const
UserConfig
& usercfg) {
73
return
getLoader().load(url, usercfg);
74
}
75
private
:
77
DataPoint
*p;
79
static
DataPointLoader& getLoader();
81
DataHandle
(
void
);
84
DataHandle
(
const
DataHandle
&);
85
DataHandle
& operator=(
const
DataHandle
&);
86
};
87
88
}
// namespace Arc
89
90
#endif // __ARC_DATAHANDLE_H__
Generated on Mon Mar 4 2013 15:45:43 for ARC SDK by
1.8.3.1