source: trunk/examples/network/infoprotocol/infoserver/infodata.cpp

Last change on this file was 2, checked in by dmik, 20 years ago

Imported xplatform parts of the official release 3.3.1 from Trolltech

  • Property svn:keywords set to Id
File size: 3.5 KB
Line 
1/****************************************************************************
2** $Id: infodata.cpp 2 2005-11-16 15:49:26Z dmik $
3**
4** Copyright (C) 1992-2002 Trolltech AS. All rights reserved.
5**
6** This file is part of an example program for Qt. This example
7** program may be used, distributed and modified without limitation.
8**
9*****************************************************************************/
10
11#include "infodata.h"
12
13
14// we hard code all nodes and data in InfoData class
15InfoData::InfoData() :
16 nodes( 17, TRUE ), data( 17, TRUE )
17{
18 nodes.setAutoDelete(TRUE);
19 data.setAutoDelete(TRUE);
20 QStringList *item;
21
22 nodes.insert( "/", item = new QStringList( ) );
23 (*item) << "D network";
24 nodes.insert( "/network/", item = new QStringList() );
25 (*item) << "D workstations" << "D printers" << "D fax";
26 nodes.insert( "/network/workstations/", item = new QStringList() );
27 (*item) << "D nibble" << "D douglas";
28 nodes.insert( "/network/workstations/nibble/", item = new QStringList() );
29 (*item) << "F os" << "F cpu" << "F memory";
30 nodes.insert( "/network/workstations/douglas/", item = new QStringList() );
31 (*item) << "F os" << "F cpu" << "F memory";
32 nodes.insert( "/network/printers/", item = new QStringList() );
33 (*item) << "D overbitt" << "D kroksleiven";
34 nodes.insert( "/network/printers/overbitt/", item = new QStringList() );
35 (*item) << "D jobs" << "F type";
36 nodes.insert( "/network/printers/overbitt/jobs/", item = new QStringList() );
37 (*item) << "F job1" << "F job2";
38 nodes.insert( "/network/printers/kroksleiven/", item = new QStringList() );
39 (*item) << "D jobs" << "F type";
40 nodes.insert( "/network/printers/kroksleiven/jobs/", item = new QStringList() );
41 nodes.insert( "/network/fax/", item = new QStringList() );
42 (*item) << "F last_number";
43
44 data.insert( "/network/workstations/nibble/os", new QString( "Linux" ) );
45 data.insert( "/network/workstations/nibble/cpu", new QString( "AMD Athlon 1000" ) );
46 data.insert( "/network/workstations/nibble/memory", new QString( "256 MB" ) );
47 data.insert( "/network/workstations/douglas/os", new QString( "Windows 2000" ) );
48 data.insert( "/network/workstations/douglas/cpu", new QString( "2 x Intel Pentium III 800" ) );
49 data.insert( "/network/workstations/douglas/memory", new QString( "256 MB" ) );
50 data.insert( "/network/printers/overbitt/type", new QString( "Lexmark Optra S 1255 PS" ) );
51 data.insert( "/network/printers/overbitt/jobs/job1",
52 new QString( "Qt manual\n" "A4 size\n" "3000 pages" ) );
53 data.insert( "/network/printers/overbitt/jobs/job2",
54 new QString( "Monthly report\n" "Letter size\n" "24 pages\n" "8 copies" ) );
55 data.insert( "/network/printers/kroksleiven/type", new QString( "HP C LaserJet 4500-PS" ) );
56 data.insert( "/network/fax/last_number", new QString( "22 22 22 22" ) );
57}
58
59QStringList InfoData::list( QString path, bool *found ) const
60{
61 if ( !path.endsWith( "/" ) )
62 path += "/";
63 if ( !path.startsWith( "/" ) )
64 path = "/" + path;
65 QStringList *list = nodes[ path ];
66 if ( list ) {
67 *found = TRUE;
68 return *list;
69 } else {
70 *found = FALSE;
71 QStringList empty;
72 return empty;
73 }
74}
75
76QString InfoData::get( QString path, bool *found ) const
77{
78 if ( !path.startsWith( "/" ) )
79 path = "/" + path;
80 QString *file = data[ path ];
81 if ( file ) {
82 *found = TRUE;
83 return *file;
84 } else {
85 *found = FALSE;
86 QString empty;
87 return empty;
88 }
89}
Note: See TracBrowser for help on using the repository browser.