Logo Search packages:      
Sourcecode: tango version File versions  Download package

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends

Tango::DeviceImpl Class Reference

#include <device.h>

Inheritance diagram for Tango::DeviceImpl:
Inheritance graph
[legend]
Collaboration diagram for Tango::DeviceImpl:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void basic_unlock (bool forced=false)
void check_command_exists (const string &)
void clean_locker_ptrs ()
void data_into_net_object (Attribute &, AttributeValueList_3 *, AttributeValueList_4 *, long, AttrWriteType, bool)
vector< long > & get_alarmed_not_read ()
string & get_alias_name_lower ()
TangoMonitorget_att_conf_monitor ()
vector< string > & get_attr_min_poll_period ()
long get_attr_poll_ring_depth (string &)
Tango::client_addrget_client_ident ()
vector< string > & get_cmd_min_poll_period ()
long get_cmd_poll_ring_depth (string &)
Commandget_command (const string &)
long get_dev_idl_version ()
TangoMonitorget_dev_monitor ()
bool get_exported_flag ()
Tango::DevLong get_lock_validity ()
client_addrget_locker ()
Tango::DevLong get_locking_ctr ()
time_t get_locking_date ()
int get_min_poll_period ()
string & get_name_lower ()
vector< string > & get_non_auto_polled_attr ()
vector< string > & get_non_auto_polled_cmd ()
client_addrget_old_locker ()
TangoMonitorget_poll_monitor ()
vector< PollObj * > & get_poll_obj_list ()
long get_poll_old_factor ()
long get_poll_ring_depth ()
vector< string > & get_polled_attr ()
vector< string > & get_polled_cmd ()
bool is_device_locked ()
bool is_polled ()
void is_polled (bool poll)
bool is_py_device ()
void lock (client_addr *, int)
Tango::DevVarLongStringArraylock_status ()
void poll_lists_2_v5 ()
void polled_data_into_net_object (AttributeValueList_3 *, AttributeValueList_4 *, long, long, long, PollObj *, const DevVarStringArray &)
void push_att_conf_event (Attribute *)
void relock (client_addr *)
void set_alias_name_lower (string &al)
void set_exported_flag (bool exp)
void set_locking_param (client_addr *, client_addr *, time_t, DevLong, DevLong)
void set_poll_old_factor (long fact)
void set_poll_ring_depth (long depth)
void set_py_device (bool py)
void stop_polling ()
void stop_polling (bool)
Tango::DevLong unlock (bool)
bool valid_lock ()
Constructors

Miscellaneous constructors

 DeviceImpl (DeviceClass *device_class, string &dev_name)
 DeviceImpl (DeviceClass *device_class, string &dev_name, string &desc)
 DeviceImpl (DeviceClass *device_class, string &dev_name, string &desc, Tango::DevState dev_state, string &dev_status)
 DeviceImpl (DeviceClass *device_class, const char *dev_name, const char *desc="A TANGO device", Tango::DevState dev_state=Tango::UNKNOWN, const char *dev_status=StatusNotSet)
Destructor

Only one desctructor is defined for this class

virtual ~DeviceImpl ()
Get/Set object members.

These methods allows the external world to get/set DeviceImpl instance data members

string & get_status ()
void set_status (const string &new_status)
void append_status (const string &stat, bool new_line=false)
Tango::DevState & get_state ()
Tango::DevState & get_prev_state ()
void set_state (const Tango::DevState &new_state)
string & get_name ()
DeviceClassget_device_class ()
MultiAttributeget_device_attr ()
void set_device_attr (MultiAttribute *ptr)
DbDeviceget_db_device ()
void set_d_var (Tango::Device_ptr d)
Tango::Device_var get_d_var ()
void set_obj_id (PortableServer::ObjectId_var o)
PortableServer::ObjectId_var & get_obj_id ()
virtual PortableServer::POA_ptr _default_POA ()
CORBA attribute methods

Method defined to implement TANGO device CORBA attribute

virtual char * name () throw (CORBA::SystemException)
virtual char * adm_name () throw (CORBA::SystemException)
virtual char * description () throw (CORBA::SystemException)
virtual char * status () throw (CORBA::SystemException)
virtual Tango::DevState state () throw (CORBA::SystemException)
CORBA operation methods

Method defined to implement TANGO device CORBA operation

virtual CORBA::Any * command_inout (const char *in_cmd, const CORBA::Any &in_data) throw (Tango::DevFailed, CORBA::SystemException)
virtual Tango::DevVarStringArray * black_box (CORBA::Long n) throw (Tango::DevFailed, CORBA::SystemException)
virtual Tango::DevCmdInfoList * command_list_query () throw (Tango::DevFailed, CORBA::SystemException)
virtual Tango::DevCmdInfocommand_query (const char *command) throw (Tango::DevFailed, CORBA::SystemException)
virtual Tango::DevInfoinfo () throw (Tango::DevFailed, CORBA::SystemException)
virtual void ping () throw (Tango::DevFailed, CORBA::SystemException)
virtual
Tango::AttributeConfigList * 
get_attribute_config (const Tango::DevVarStringArray &names) throw (Tango::DevFailed, CORBA::SystemException)
virtual void set_attribute_config (const Tango::AttributeConfigList &new_conf) throw (Tango::DevFailed, CORBA::SystemException)
virtual Tango::AttributeValueList * read_attributes (const Tango::DevVarStringArray &names) throw (Tango::DevFailed, CORBA::SystemException)
virtual void write_attributes (const Tango::AttributeValueList &values) throw (Tango::DevFailed, CORBA::SystemException)
Methods to build Tango array types.

These methods are helper methods to build Tango array types from an already existing buffer (Tango array types are CORBA sequences)

Tango::DevVarCharArray * create_DevVarCharArray (unsigned char *ptr, long length)
Tango::DevVarShortArray * create_DevVarShortArray (short *ptr, long length)
Tango::DevVarLongArray * create_DevVarLongArray (DevLong *ptr, long length)
Tango::DevVarLong64Array * create_DevVarLong64Array (DevLong64 *ptr, long length)
Tango::DevVarFloatArray * create_DevVarFloatArray (float *ptr, long length)
Tango::DevVarDoubleArray * create_DevVarDoubleArray (double *ptr, long length)
Tango::DevVarUShortArray * create_DevVarUShortArray (unsigned short *ptr, long length)
Tango::DevVarULongArray * create_DevVarULongArray (DevULong *ptr, long length)
Tango::DevVarULong64Array * create_DevVarULong64Array (DevULong64 *ptr, long length)
Tango::DevVarStringArray * create_DevVarStringArray (char **ptr, long length)
Miscellaneous methods
virtual void init_device ()=0
virtual void delete_device ()
virtual void always_executed_hook (void)
virtual void read_attr_hardware (vector< long > &)
virtual void read_attr (Attribute &)
virtual void write_attr_hardware (vector< long > &)
virtual Tango::DevState dev_state ()
virtual Tango::ConstDevString dev_status ()
void add_attribute (Attr *new_attr)
void remove_attribute (Attr *rem_attr, bool free_it=false)
void remove_attribute (string &rem_attr_name, bool free_it=false)
vector< PollObj * >::iterator get_polled_obj_by_type_name (Tango::PollObjType obj_type, const string &obj_name)
void init_cmd_poll_ext_trig (string cmd_name)
void init_cmd_poll_period ()
void init_attr_poll_ext_trig (string cmd_name)
void init_attr_poll_period ()
Push change event methods.

These methods allow to fire change events for attributes manually, without the polling to be started.

void set_change_event (string attr_name, bool implemented, bool detect=true)
void push_change_event (string attr_name, DevFailed *except=NULL)
void push_change_event (string attr_name, Tango::DevShort *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevLong *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevLong64 *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevFloat *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevDouble *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevString *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevBoolean *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevUShort *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevUChar *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevULong *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevULong64 *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevState *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevEncoded *p_data, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevString *p_str_data, Tango::DevUChar *p_data, long size, bool release=false)
void push_change_event (string attr_name, Tango::DevShort *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevLong *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevLong64 *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevFloat *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevDouble *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevString *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevBoolean *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevUShort *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevUChar *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevULong *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevULong64 *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevState *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevEncoded *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_change_event (string attr_name, Tango::DevString *p_str_data, Tango::DevUChar *p_data, long size, struct timeval &t, Tango::AttrQuality qual, bool release=false)
Push archive event methods.

These methods allow to fire archive events for attributes manually, without the polling to be started.

void set_archive_event (string attr_name, bool implemented, bool detect=true)
void push_archive_event (string attr_name, DevFailed *except=NULL)
void push_archive_event (string attr_name, Tango::DevShort *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevLong *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevLong64 *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevFloat *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevDouble *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevString *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevBoolean *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevUShort *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevUChar *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevULong *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevULong64 *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevState *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevEncoded *p_data, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevString *p_str_data, Tango::DevUChar *p_data, long size, bool release=false)
void push_archive_event (string attr_name, Tango::DevShort *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevLong *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevLong64 *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevFloat *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevDouble *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevString *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevBoolean *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevUShort *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevUChar *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevULong *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevULong64 *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevState *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevEncoded *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_archive_event (string attr_name, Tango::DevString *p_str_data, Tango::DevUChar *p_data, long size, struct timeval &t, Tango::AttrQuality qual, bool release=false)
Push user event methods.

These methods allow to fire user events for attributes manually, without the polling to be started.

void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, DevFailed *except=NULL)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevShort *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevLong *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevLong64 *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevFloat *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevDouble *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevString *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevBoolean *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevUShort *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevUChar *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevULong *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevULong64 *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevState *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevEncoded *p_data, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevString *p_str_data, Tango::DevUChar *p_data, long size, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevShort *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevLong *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevLong64 *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevFloat *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevDouble *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevString *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevBoolean *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevUShort *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevUChar *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevULong *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevULong64 *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevState *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevEncoded *p_data, struct timeval &t, Tango::AttrQuality qual, long x=1, long y=0, bool release=false)
void push_event (string attr_name, vector< string > &filt_names, vector< double > &filt_vals, Tango::DevString *p_str_data, Tango::DevUChar *p_data, long size, struct timeval &t, Tango::AttrQuality qual, bool release=false)
Push data ready event methods

This method allows the user to push a data ready event

void push_data_ready_event (const string &attr_name, Tango::DevLong ctr=0)
Signal related methods

These methods allow a signal management at device level

void register_signal (long signo)
void unregister_signal (long signo)
virtual void signal_handler (long signo)

Protected Member Functions

void check_lock (const char *, const char *cmd=NULL)
void throw_locked_exception (const char *meth)

Protected Attributes

DevVarBooleanArray dummy_boolean_att_value
DevVarDoubleArray dummy_double_att_value
DevVarEncodedArray dummy_encoded_att_value
DevVarFloatArray dummy_float_att_value
DevVarLong64Array dummy_long64_att_value
DevVarLongArray dummy_long_att_value
DevVarShortArray dummy_short_att_value
DevVarStateArray dummy_state_att_value
DevVarStringArray dummy_string_att_value
DevVarCharArray dummy_uchar_att_value
DevVarULong64Array dummy_ulong64_att_value
DevVarULongArray dummy_ulong_att_value
DevVarUShortArray dummy_ushort_att_value
DeviceImplExtext
Class data members
BlackBoxblackbox_ptr
long blackbox_depth
string device_name
string desc
string device_status
Tango::DevState device_state
long version
DeviceClassdevice_class
MultiAttributedev_attr
DbDevicedb_dev
string adm_device_name

Private Member Functions

void black_box_create ()
void get_dev_system_resource ()

Private Attributes

string alarm_status
Tango::Device_var d_var
PortableServer::ObjectId_var obj_id

Friends

class Tango::AutoTangoMonitor
class Tango::EventSubscriptionChangeCmd
class Tango::EventSupplier
class Tango::NoSyncModelTangoMonitor

Detailed Description

Base class for all TANGO device.

This class inherits from CORBA classes where all the network layer is implemented.

Author:
taurel
Revision:
15556

Definition at line 182 of file device.h.


The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index