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
|
// NOLINTBEGIN(*)
#include "IOArray1.h"
//+----------------------------------------------------------------------------
//
// method : IOArray1::IOArray1()
//
// description : constructor for the IOArray1 command of the
// DevTest.
//
// In : - name : The command name
// - in : The input parameter type
// - out : The output parameter type
// - in_desc : The input parameter description
// - out_desc : The output parameter description
//
//-----------------------------------------------------------------------------
IOArray1::IOArray1(
const char *name, Tango::CmdArgType in, Tango::CmdArgType out, const char *in_desc, const char *out_desc) :
Command(name, in, out, in_desc, out_desc)
{
}
//+----------------------------------------------------------------------------
//
// method : IOArray1::is_allowed()
//
// description : method to test whether command is allowed or not in this
// state. In this case, the command is allowed only if
// the device is in ON state
//
// in : - device : The device on which the command must be excuted
// - in_any : The command input data
//
// returns : boolean - true == is allowed , false == not allowed
//
//-----------------------------------------------------------------------------
bool IOArray1::is_allowed(Tango::DeviceImpl *device, TANGO_UNUSED(const CORBA::Any &in_any))
{
//
// command allowed only if the device is on
//
if(device->get_state() == Tango::ON)
{
return (true);
}
else
{
return (false);
}
}
//+----------------------------------------------------------------------------
//
// method : IOArray1::execute()
//
// description : method to trigger the execution of the IOArray1
// command
//
// in : - device : The device on which the command must be excuted
// - in_any : The command input data
//
// returns : The command output data (packed in the Any object)
//
//-----------------------------------------------------------------------------
CORBA::Any *IOArray1::execute(TANGO_UNUSED(Tango::DeviceImpl *device), TANGO_UNUSED(const CORBA::Any &in_any))
{
try
{
Tango::DevVarLongArray *argout;
argout = new Tango::DevVarLongArray();
argout->length(4);
(*argout)[0] = 10;
(*argout)[1] = 20;
(*argout)[2] = 30;
(*argout)[3] = 40;
return insert(argout);
}
catch(CORBA::Exception &e)
{
Tango::Except::print_exception(e);
throw;
}
}
// NOLINTEND(*)
|