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

L1394::FcpNode Class Reference
[L1394_Node]

This class represents a node using the FCP protocol to control a device. (normally AV/C nodes). More...

#include <l1394_fcpnode.h>

Inheritance diagram for L1394::FcpNode:

L1394::Node List of all members.

Public Member Functions

FcpNode constructor
These functions creates the FcpNode objects.

 FcpNode (const u_int32_t node_id, const Card *parent)
 Constructor.
virtual ~FcpNode ()
 Destructor.
Fcp specific transactions and functions
These functions send a command, based on the FCP protocol, to a FcpNode and return the response.

Quadlet send (const Quadlet &command) const
 This method sends a Quadlet (4 bytes) to this node using FCP protocol.
QArray send (const QArray &command) const
 This method sends an array of Quadlets to this node, using FCP protocol.
const char * decode (const QArray &value) const
 This method decodes a response and returns the response-code as string.
const char * decode (const Quadlet &value) const
 This method decodes a response and returns as string.
Unit/Subunit information
These functions return some Unit and Subunit informations.

int getSubunitCount () const
 This functions return the count of subunits.
QArray getSubunitInfo (int subunit)
 This method returns the subunit information from the i-th subunit.
QArray getUnitInfo ()
 This method returns the unit information block.
DevicefindSubunit (const int subunit_type) const
 This method returns the subunit with a specific type.
Device ** getDeviceArray () const
 This method return an array with size 8.
IsogetIsoObject () const
 This method returns a DvIso-object.

Detailed Description

This class represents a node using the FCP protocol to control a device. (normally AV/C nodes).

A FcpNode stores up to 8 subunits in an array. The subunit itself stores a pointer to a specific device.(see also class Subunit).
This class implements also functions to send commands to a node and gets information about the Unit and subunits.

For more information about FCP protocol see IEEE specification. For more information about AV/C see 'AV/C Digital Interface Command Set General specification'.

Author:
Michael Repplinger

Definition at line 43 of file l1394_fcpnode.h.


Constructor & Destructor Documentation

L1394::FcpNode::FcpNode const u_int32_t  node_id,
const Card parent
 

Constructor.

Parameters:
node_id : the current node-id by instantiating the object
parent : pointer to the parent_node

Definition at line 24 of file l1394_fcpnode.cpp.

References L1394::_FcpNode.

L1394::FcpNode::~FcpNode  )  [virtual]
 

Destructor.

Definition at line 56 of file l1394_fcpnode.cpp.

References L1394::NODE_DESTROY.


Member Function Documentation

L1394::FcpNode::decode const Quadlet value  )  const
 

This method decodes a response and returns as string.

Parameters:
value : Quadlet that should be decoded
Returns:
char* : pointer to the response

Definition at line 85 of file l1394_fcpnode.cpp.

References L1394::Quadlet::getByte().

L1394::FcpNode::decode const QArray value  )  const [inline]
 

This method decodes a response and returns the response-code as string.

Parameters:
value : QArray that should be decoded
Returns:
char* : pointer to the response

Definition at line 89 of file l1394_fcpnode.h.

References L1394::QArray::getQuadlet().

L1394::FcpNode::findSubunit const int  subunit_type  )  const
 

This method returns the subunit with a specific type.

Parameters:
subunit_type : integer value with the subunit_type
Returns:
Subunit* : pointer to Subunit object with type subunit_type, NULL if no Subunit with this type exist.

Definition at line 146 of file l1394_fcpnode.cpp.

References L1394::Device::getDeviceType().

L1394::FcpNode::getDeviceArray  )  const [inline]
 

This method return an array with size 8.

The array contain pointer to the subunits of an AvcNode. If an AvcNode has less than 8 subunits the array is filled with NULL.

Returns:
Subunit** : pointer to the Subunit array

Definition at line 143 of file l1394_fcpnode.h.

L1394::FcpNode::getIsoObject  )  const [inline]
 

This method returns a DvIso-object.

Returns:
Iso* : pointer to the ISO-object, or NULL.

Definition at line 150 of file l1394_fcpnode.h.

L1394::FcpNode::getSubunitCount  )  const [inline]
 

This functions return the count of subunits.

Returns:
int : integer value with subunit count

Definition at line 109 of file l1394_fcpnode.h.

L1394::FcpNode::getSubunitInfo int  subunit  ) 
 

This method returns the subunit information from the i-th subunit.

Parameters:
subunit : integer value for the subunit
Returns:
QArray : with the subunit information.

Definition at line 101 of file l1394_fcpnode.cpp.

References L1394::QArray::insert(), and send().

L1394::FcpNode::getUnitInfo  ) 
 

This method returns the unit information block.

Returns:
QArray : returns the unit information block

Definition at line 112 of file l1394_fcpnode.cpp.

References L1394::QArray::insert(), and send().

L1394::FcpNode::send const QArray command  )  const
 

This method sends an array of Quadlets to this node, using FCP protocol.

Parameters:
command : QArray with the extended command
Returns:
QArray : The response QArray.

Definition at line 75 of file l1394_fcpnode.cpp.

L1394::FcpNode::send const Quadlet command  )  const
 

This method sends a Quadlet (4 bytes) to this node using FCP protocol.

Parameters:
command : Quadlet with the command
Returns:
Quadlet : The response quadlet.

Definition at line 65 of file l1394_fcpnode.cpp.

Referenced by L1394::AvcCameraRegister::automatic(), getSubunitInfo(), L1394::AvcVcr::getTimeCode(), getUnitInfo(), L1394::AvcCameraRegister::getValue(), L1394::AvcRegister::hasFeature(), L1394::AvcCameraRegister::hasFeature(), L1394::AvcVcr::mediumInfo(), L1394::AvcCameraRegister::onePush(), L1394::AvcRegister::send(), L1394::AvcCameraRegister::setValue(), and L1394::AvcRegister::status().


The documentation for this class was generated from the following files:
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/