Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

L1394::DeviceRegister Class Reference
[L1394_Register]

This class defines the interface of an L1394 Register for most common devices. More...

#include <l1394_deviceregister.h>

Inheritance diagram for L1394::DeviceRegister:

L1394::AvcRegister L1394::AvcCameraRegister List of all members.

Public Member Functions

DccCamera constructor
These functions creates the Register objects for Devices.

virtual ~DeviceRegister ()
 destructor
Register interface for all devices
These functions define the minimal register interface for all devices (except DccCameras)

virtual int send () const =0
 This function sends a command to the device and returns the response code.
virtual bool hasFeature () const =0
 This function tests, if a command is supported by a node, false if not.
virtual L1394::QArray status () const =0
 This function returns the actual status of command.

Detailed Description

This class defines the interface of an L1394 Register for most common devices.

If you access a feature of a device a so called L1394 Register object is returned. The L1394 Register object provides functions to define how to execute the feature.

The functions of this class define the minimum interface for all devices (except DccCameras).

If you store a pointer to a L1394 Register object remember, that the functions of this class are only valid for the last feature called by the device.

Illegal combinations are ignored.

In the actual version of the library this class provides only three functions :

Function send() :
This function executes a command and returns the response_code of the device. The response code, defined in AV/C Digital Interface Command Set General Specification (Version 3.0), is used.(see the description of function send() for the return values.)

Function hasFeature() :
This function tests, if a feature is supported by a device. It returns true, if a feature is supported, false if not.

Function status() :
This function can be used, to get the actual status of a command. The response code, defined in AV/C Digital Interface Command Set General Specification (Version 3.0), is used.(see the description of function status() for the return values.)

Author:
Michael Repplinger

Definition at line 61 of file l1394_deviceregister.h.


Constructor & Destructor Documentation

L1394::DeviceRegister::~DeviceRegister  )  [inline, virtual]
 

destructor

Definition at line 71 of file l1394_deviceregister.h.


Member Function Documentation

L1394::DeviceRegister::hasFeature  )  const [pure virtual]
 

This function tests, if a command is supported by a node, false if not.

For this function the general inquiry command is used.

Returns:
bool : return true, if node report an IMPLEMENTED for this feature, false if not.

Implemented in L1394::AvcCameraRegister, and L1394::AvcRegister.

L1394::DeviceRegister::send  )  const [pure virtual]
 

This function sends a command to the device and returns the response code.

Returns:
int : The following response codes are defined:
NOT_IMPLEMENTED (0x08) : Feature not implemented.
ACCEPTED (0x09) : Feature is accepted and will be executed
REJECTED (0x0A) : The Feature is supported, but the target state does not permit the execution of this command(You get this value, if you try to execute the play control command and no cassette is inserted in the device.)
INTERIM (0x0f) : returned, if the device couldn't send a ACCEPTED or REJECTED fast enough

Implemented in L1394::AvcRegister.

L1394::DeviceRegister::status  )  const [pure virtual]
 

This function returns the actual status of command.

Returns:
int : The following status commands are implemented
NOT_IMPLEMENTED : The feature is not implemented.
REJECTED : The device implements the status command, but device state doesn't permit a status of the command.
IN_TRANSITION : The device is already in transition with the status command
STABLE : status command was executed successful

Implemented in L1394::AvcRegister.


The documentation for this class was generated from the following file:
Generated on Wed Aug 24 00:36:44 2005 for L1394 by doxygen 1.4.2
L1394 library (NMM) grahics.cs.uni-sb.de/~repplix/l1394_home/