anatomist
5.1.2
3D neuroimaging data viewer
cExternalReference.h
Go to the documentation of this file.
1
/* This software and supporting documentation are distributed by
2
* Institut Federatif de Recherche 49
3
* CEA/NeuroSpin, Batiment 145,
4
* 91191 Gif-sur-Yvette cedex
5
* France
6
*
7
* This software is governed by the CeCILL-B license under
8
* French law and abiding by the rules of distribution of free software.
9
* You can use, modify and/or redistribute the software under the
10
* terms of the CeCILL-B license as circulated by CEA, CNRS
11
* and INRIA at the following URL "http://www.cecill.info".
12
*
13
* As a counterpart to the access to the source code and rights to copy,
14
* modify and redistribute granted by the license, users are provided only
15
* with a limited warranty and the software's author, the holder of the
16
* economic rights, and the successive licensors have only limited
17
* liability.
18
*
19
* In this respect, the user's attention is drawn to the risks associated
20
* with loading, using, modifying and/or developing or reproducing the
21
* software by the user in light of its specific status of free software,
22
* that may mean that it is complicated to manipulate, and that also
23
* therefore means that it is reserved for developers and experienced
24
* professionals having in-depth computer knowledge. Users are therefore
25
* encouraged to load and test the software's suitability as regards their
26
* requirements in conditions enabling the security of their systems and/or
27
* data to be ensured and, more generally, to use and operate it in the
28
* same conditions as regards security.
29
*
30
* The fact that you are presently reading this means that you have had
31
* knowledge of the CeCILL-B license and that you accept its terms.
32
*/
33
34
35
#ifndef ANA_COMMANDS_CEXTERNALREFERENCE_H
36
#define ANA_COMMANDS_CEXTERNALREFERENCE_H
37
38
#include <
anatomist/processor/Command.h
>
39
#include <vector>
40
41
42
namespace
anatomist
43
{
44
47
class
ExternalReferenceCommand
48
:
public
RegularCommand
,
public
SerializingCommand
49
{
50
public
:
51
enum
ActionType
52
{
53
TakeStrongRef
,
54
TakeWeakSharedRef
,
55
TakeWeakRef
,
56
ReleaseStrongRef
,
57
ReleaseWeakSharedRef
,
58
ReleaseWeakRef
,
59
ReleaseApplication
,
60
TakeApplication
,
61
};
62
63
ExternalReferenceCommand
(
const
std::vector<int> & elements,
64
ActionType
actype,
65
CommandContext
*
context
);
66
virtual
~ExternalReferenceCommand
();
67
68
virtual
std::string
name
()
const
{
return
(
"ExternalReference"
); }
69
virtual
void
write
(
Tree
& com,
Serializer
* ser )
const
;
70
71
protected
:
72
virtual
void
doit
();
73
74
private
:
75
friend
class
StdModule
;
76
static
Command
* read(
const
Tree
& com,
CommandContext
*
context
);
77
static
bool
initSyntax();
78
79
std::vector<int> _elem;
80
enum
ActionType
_actiontype;
81
};
82
83
}
84
85
86
#endif
Command.h
Tree
anatomist::Command
The abstract base class for commands.
Definition:
Command.h:60
anatomist::ExternalReferenceCommand
Manages reference counting on elements for a remote application.
Definition:
cExternalReference.h:49
anatomist::ExternalReferenceCommand::ExternalReferenceCommand
ExternalReferenceCommand(const std::vector< int > &elements, ActionType actype, CommandContext *context)
anatomist::ExternalReferenceCommand::ActionType
ActionType
Definition:
cExternalReference.h:52
anatomist::ExternalReferenceCommand::ReleaseWeakSharedRef
@ ReleaseWeakSharedRef
Definition:
cExternalReference.h:57
anatomist::ExternalReferenceCommand::ReleaseStrongRef
@ ReleaseStrongRef
Definition:
cExternalReference.h:56
anatomist::ExternalReferenceCommand::ReleaseApplication
@ ReleaseApplication
Definition:
cExternalReference.h:59
anatomist::ExternalReferenceCommand::TakeWeakRef
@ TakeWeakRef
Definition:
cExternalReference.h:55
anatomist::ExternalReferenceCommand::ReleaseWeakRef
@ ReleaseWeakRef
Definition:
cExternalReference.h:58
anatomist::ExternalReferenceCommand::TakeApplication
@ TakeApplication
Definition:
cExternalReference.h:60
anatomist::ExternalReferenceCommand::TakeWeakSharedRef
@ TakeWeakSharedRef
Definition:
cExternalReference.h:54
anatomist::ExternalReferenceCommand::TakeStrongRef
@ TakeStrongRef
Definition:
cExternalReference.h:53
anatomist::ExternalReferenceCommand::~ExternalReferenceCommand
virtual ~ExternalReferenceCommand()
anatomist::ExternalReferenceCommand::doit
virtual void doit()
Do a command.
anatomist::ExternalReferenceCommand::write
virtual void write(Tree &com, Serializer *ser) const
Print the guts of a command into a Tree given as parent.
anatomist::ExternalReferenceCommand::name
virtual std::string name() const
Return the unique name of a class of commands.
Definition:
cExternalReference.h:68
anatomist::RegularCommand
The abstract base class for usual commands.
Definition:
Command.h:104
anatomist::Serializer
Serializer is a helper class for pointer serialization.
Definition:
Serializer.h:55
anatomist::SerializingCommand
The abstract base class used for commands that have to read/write pointers.
Definition:
Command.h:128
anatomist::SerializingCommand::context
CommandContext * context()
Definition:
Command.h:131
anatomist::StdModule
Definition:
stdmod.h:45
anatomist
Definition:
anatomistinfo.h:40
anatomist::CommandContext
Context for commands processor readers (APipeReader etc)
Definition:
context.h:48
anatomist
commands
cExternalReference.h
Generated by
1.9.1