cisst-saw
Toggle main menu visibility
Loading...
Searching...
No Matches
tmp
cisst-saw
cisst
cisstMultiTask
mtsCommandWriteBase.h
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3
4
/*
5
Author(s): Ankur Kapoor, Peter Kazanzides, Anton Deguet
6
Created on: 2004-04-30
7
8
(C) Copyright 2004-2014 Johns Hopkins University (JHU), All Rights Reserved.
9
10
--- begin cisst license - do not edit ---
11
12
This software is provided "as is" under an open source license, with
13
no warranty. The complete license can be found in license.txt and
14
http://www.cisst.org/cisst/license.txt.
15
16
--- end cisst license ---
17
*/
18
19
24
25
#ifndef _mtsCommandWriteBase_h
26
#define _mtsCommandWriteBase_h
27
28
29
#include <
cisstMultiTask/mtsCommandBase.h
>
30
#include <iostream>
31
32
// Always include last
33
#include <
cisstMultiTask/mtsExport.h
>
34
40
class
mtsCommandWriteBase
:
public
mtsCommandBase {
41
42
friend
class
mtsMulticastCommandWriteBase
;
43
friend
class
mtsCommandQueuedWriteGeneric
;
44
45
public
:
46
typedef
mtsCommandBase
BaseType
;
47
49
mtsCommandWriteBase
(
void
):
50
BaseType
(),
51
ArgumentPrototype
(0)
52
{}
53
54
mtsCommandWriteBase
(
const
std::string & name):
55
BaseType
(name),
56
ArgumentPrototype
(0)
57
{}
58
60
virtual
~mtsCommandWriteBase
() {}
61
69
virtual
mtsExecutionResult
Execute
(
const
mtsGenericObject
& argument,
mtsBlockingType
blocking) = 0;
70
79
virtual
mtsExecutionResult
Execute
(
const
mtsGenericObject
& argument,
mtsBlockingType
blocking,
80
mtsCommandWriteBase
*
CMN_UNUSED
(finishedEventHandler)) = 0;
81
82
/* documented in base class */
83
inline
size_t
NumberOfArguments
(
void
)
const
{
84
return
1;
85
}
86
87
/* documented in base class */
88
inline
bool
Returns
(
void
)
const
{
89
return
false
;
90
}
91
93
inline
virtual
const
mtsGenericObject
*
GetArgumentPrototype
(
void
)
const
{
94
return
this->
ArgumentPrototype
;
95
}
96
99
inline
const
cmnClassServicesBase
*
GetArgumentClassServices
(
void
)
const
{
100
return
this->
GetArgumentPrototype
()->
Services
();
101
}
102
103
protected
:
104
105
inline
virtual
void
SetArgumentPrototype
(
const
mtsGenericObject
* argumentPrototype) {
106
this->
ArgumentPrototype
= argumentPrototype;
107
}
108
109
const
mtsGenericObject
*
ArgumentPrototype
;
110
111
};
112
113
114
#endif
// _mtsCommandWriteBase_h
cmnClassServicesBase
Base class for class services.
Definition
cmnClassServicesBase.h:46
cmnGenericObject::Services
virtual const cmnClassServicesBase * Services(void) const =0
mtsCommandWriteBase::mtsMulticastCommandWriteBase
friend class mtsMulticastCommandWriteBase
Definition
mtsCommandWriteBase.h:42
mtsCommandWriteBase::SetArgumentPrototype
virtual void SetArgumentPrototype(const mtsGenericObject *argumentPrototype)
Definition
mtsCommandWriteBase.h:105
mtsCommandWriteBase::Returns
bool Returns(void) const
Definition
mtsCommandWriteBase.h:88
mtsCommandWriteBase::Execute
virtual mtsExecutionResult Execute(const mtsGenericObject &argument, mtsBlockingType blocking, mtsCommandWriteBase *CMN_UNUSED(finishedEventHandler))=0
mtsCommandWriteBase::GetArgumentPrototype
virtual const mtsGenericObject * GetArgumentPrototype(void) const
Definition
mtsCommandWriteBase.h:93
mtsCommandWriteBase::mtsCommandWriteBase
mtsCommandWriteBase(const std::string &name)
Definition
mtsCommandWriteBase.h:54
mtsCommandWriteBase::BaseType
mtsCommandBase BaseType
Definition
mtsCommandWriteBase.h:46
mtsCommandWriteBase::GetArgumentClassServices
const cmnClassServicesBase * GetArgumentClassServices(void) const
Definition
mtsCommandWriteBase.h:99
mtsCommandWriteBase::mtsCommandWriteBase
mtsCommandWriteBase(void)
Definition
mtsCommandWriteBase.h:49
mtsCommandWriteBase::ArgumentPrototype
const mtsGenericObject * ArgumentPrototype
Definition
mtsCommandWriteBase.h:109
mtsCommandWriteBase::NumberOfArguments
size_t NumberOfArguments(void) const
Definition
mtsCommandWriteBase.h:83
mtsCommandWriteBase::Execute
virtual mtsExecutionResult Execute(const mtsGenericObject &argument, mtsBlockingType blocking)=0
mtsCommandWriteBase::mtsCommandQueuedWriteGeneric
friend class mtsCommandQueuedWriteGeneric
Definition
mtsCommandWriteBase.h:43
mtsCommandWriteBase::~mtsCommandWriteBase
virtual ~mtsCommandWriteBase()
Definition
mtsCommandWriteBase.h:60
mtsExecutionResult
Definition
mtsExecutionResult.h:34
mtsGenericObject
Base class for data object in cisstMultiTask.
Definition
mtsGenericObject.h:52
CMN_UNUSED
#define CMN_UNUSED(argument)
Definition
cmnPortability.h:497
mtsCommandBase.h
Defines a base class for a command.
mtsExport.h
Rules of exporting.
mtsBlockingType
mtsBlockingType
Definition
mtsForwardDeclarations.h:54
Generated by
1.18.0