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

l1394_bustopology.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           l1394bustopology.h  -  description
00003                              -------------------
00004     begin                : Thu Jul 20 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 L1394BUSTOPOLOGY_H
00019 #define L1394BUSTOPOLOGY_H
00020 
00021 #include "l1394_toponode.h"
00022 #include "l1394_node.h"
00023 #include "l1394_message.h"
00024 
00025 namespace L1394{
00026 namespace internal{
00027 /*! \class BusTopology
00028   * \ingroup Internal
00029   * \brief This class stores the topology map.
00030   *
00031   *  The topology map represent the actual configuration of the FireWire bus.
00032   * All Card objects use this class to get information about the topology of the
00033   * bus after a bus reset.<BR>
00034   *  This class translate the topology map in a topology-tree. To access the topology
00035   * tree use the method getRootNode().
00036   *
00037   * @author Michael Repplinger
00038   */
00039 
00040 
00041 class BusTopology {
00042 
00043 public:
00044 
00045 /*! \fn BusTopology(Node *parent)
00046   * \brief Constructor
00047   * \param Node* pointer to parent node.
00048   */
00049   BusTopology(Node *parent);
00050 
00051 
00052 /*! \fn ~BusTopology()
00053   * \brief Destructor
00054   */
00055   ~BusTopology();
00056 
00057 /*! \fn readTopoMap()
00058   * \brief This method reads the topology map and returns a pointer to it.
00059   *
00060   * If you call this method the old topology map is deleted and a new one is created.
00061   * \return QArray* : pointer to the topomap
00062   */
00063   QArray* readTopoMap();
00064 
00065 /*! \fn getRootNode()
00066   * \brief Creates the topology tree and returns the root node;
00067   */
00068   internal::TopoNode* getRootNode();
00069 
00070   void print();
00071 
00072 
00073 private:
00074   BusTopology(const BusTopology&);
00075   internal::TopoNode* makeTree(internal::TopoNode *);
00076   QArray *rom_info;  int rom_length; int node;
00077   internal::TopoNode *root_node;
00078   int start;
00079   Node *parent;
00080   Message*  message;
00081 };
00082 }
00083 }
00084 #endif

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