networkcombo.h

Go to the documentation of this file.
00001 // OSB library ************************************************ -*- C++ -*-
00006 /*
00007   AUTHOR(S): Stephan Broennimann (vb)
00008 
00009   RCS information
00010    $Name: OSB_060808 $
00011    $Revision: 1.3 $
00012 
00013   License
00014    OSB rating and billing library for communication networks
00015    Copyright (C) 2004, 2005, 2006  OSB systems
00016 
00017    This file may be distributed and/or modify under the terms of the
00018    GNU General Public License (GPL) as published by the Free Software
00019    Foundation which is provided in the file LICENSE.GPL included in the
00020    packaging of this file.
00021 
00022    The file is distributed in the hope that it will be useful, but WITHOUT
00023    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00024    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00025    for more details.
00026 
00027    Holders of a OSB Commercial License may use this file under the terms
00028    and conditions of this commercial license.
00029  */
00030 #ifndef _NETWORKCOMBO_H_
00031 #define _NETWORKCOMBO_H_
00032 
00033 // ************************************************************************
00034 // included header files
00035 // + standard includes
00036 
00037 // + libraries
00038 #include <osbid.h>
00039 #include <namelistfwd.h>
00040 
00041 // + local headers
00042 #include "osbcombos.h"
00043 
00044 // + class declarations
00045 namespace OSB_LIB {
00046     class Network;
00047     class NetworkElement;
00048 }
00049 
00050 // ************************************************************************
00051 // namespace extensions
00052 namespace OSB_GUI {
00053 
00054 // ************************************************************************
00055 // forward declarations
00056 
00057 // ************************************************************************
00058 // type definitions
00059 
00060 // ************************************************************************
00061 // class definitions
00063     typedef ValueCombo< OSB_LIB::Id<OSB_LIB::Network> >
00064         CmbNetworkBase;
00065 
00067     class CmbNetwork : public CmbNetworkBase {
00069         typedef OSB_LIB::Id<OSB_LIB::Network> NetworkId;
00071         typedef OSB_LIB::NameList<NetworkId> NetworkInfo;
00072     public:
00074         CmbNetwork(
00075                   QWidget* parent,
00076             const char*    name
00077         );
00078     public:
00087         void populate(const NetworkInfo& networks);
00088     };                                  // class CmbNetwork
00089 
00091     typedef ValueCombo< OSB_LIB::Id2<OSB_LIB::NetworkElement> >
00092         CmbNwElementBase;
00093 
00095     class CmbNwElement : public CmbNwElementBase {
00097         typedef OSB_LIB::Id<OSB_LIB::Network> NetworkId;
00099         typedef OSB_LIB::Id2<OSB_LIB::NetworkElement> NwElementId;
00101         typedef OSB_LIB::NameList<NwElementId> NwElementInfo;
00102     public:
00104         CmbNwElement(
00105                   QWidget* parent,
00106             const char*    name
00107         );
00108     public:
00119         void populate(
00120             const NwElementInfo& elements,
00121             const NetworkId&     network
00122         );
00123     };                                  // class CmbNwElement
00124 }                                       // namespace OSB_GUI
00125 
00126 // ************************************************************************
00127 // inline definitions
00128 namespace OSB_GUI {
00129 }                                       // namespace OSB_GUI
00130 #endif                                  // #ifndef _NETWORKCOMBO_H_

Generated on Sat Sep 2 14:17:36 2006 for OSB Library by  doxygen 1.4.7