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

l1394_phynode.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           l1394_phynode.h  -  description
00003                              -------------------
00004     begin                : Fri Jul 21 2000
00005     copyright            : (C) 2000-2004 by Michael Repplinger
00006     email                : repplinger@cs.uni-sb.de
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef L1394PHYNODE_H
00019 #define L1394PHYNODE_H
00020 
00021 #include "l1394_node.h"
00022 
00023 namespace L1394{
00024 /**\class PhyNode
00025   *\ingroup L1394_Node
00026   *\brief This class represents a node with physical layer only(like hubs)
00027   *
00028   * FireWire nodes with a physical layer only are normally hubs.
00029   * The read, write and lock functions are disabled for these nodes because the
00030   *  asynchrone transactions need a transaction layer.
00031   *  The GUID is set to 0 for these nodes.
00032   *
00033   * A PhyNode is deleted after every bus rest and create new if it's still
00034   * connected to the FireWire bus.(because there is no way to identify such a node)
00035   *
00036   *@author Michael Repplinger
00037   */
00038 
00039 class PhyNode : public Node  {
00040 public:
00041 
00042 /*! \name PhyNode constructor
00043   * These functions creates the PhyNode objects.
00044   */
00045 //@{
00046 /*! \fn PhyNode(const u_int32_t node_id, const Card* parent)
00047   * \brief constructor
00048   * \param node_id : the current node_id by creating this object
00049   * \param parent  : pointer to the parent node
00050   */
00051   PhyNode(const u_int32_t , const Card* parent );
00052 
00053 /*! \fn ~PhyNode()
00054   * \brief destructor
00055   */
00056   ~PhyNode();
00057 //@}
00058 
00059 /*! \fn isPhyOnly()
00060   * \brief This method tests if a node has only a physical layer.
00061   * \return bool: return true
00062  */
00063   virtual bool isPhyOnly(){return true;}
00064 
00065   //!disabled read functions
00066   virtual int read(const u_int64_t , Quadlet*) {return L1394_FAILED;}
00067   //!disabled write functions
00068   virtual int write(const u_int64_t ,const Quadlet&  ) {return L1394_FAILED;}
00069 //  virtual int lock
00070   virtual Iso* getIsoObject() const {return 0;}
00071 private:
00072 
00073 
00074 };
00075 }
00076 #endif

Generated on Wed Aug 24 00:36:40 2005 for L1394 by doxygen 1.4.2
L1394 library (NMM) grahics.cs.uni-sb.de/~repplix/l1394_home/