proj home

Files   Classes   Functions   Hierarchy  

modulelist Class Reference

Build list of modules under proj directory. More...

#include <modulelist.h>

Collaboration diagram for modulelist:

List of all members.

Public Member Functions

boolc buildlist ()
 Calls os script to get list and process.

Public Attributes

vector< string > modules
 module directory
vector< string > doc
 doc.xml or doc.html

Static Public Attributes

static string tempfile = "/tmp/projfindmodules2.txt"
 Pass the data from script to this class.


Detailed Description

Build list of modules under proj directory.

If a doc.html file exists in the subdirectory then it is assumed to be a project.

Definition at line 15 of file modulelist.h.


Member Function Documentation

boolc modulelist::buildlist (  ) 

Calls os script to get list and process.

Definition at line 13 of file modulelist.cpp.

References doc, modules, tokenizer::readaslines(), tokenizer::reset(), filestring::serialize(), and tempfile.

Referenced by cireport::reset(), and modulelisttest::test01().

00014 {
00015   modules.clear();
00016   doc.clear();
00017 
00018   systemcallseval("bash ${projdirectory}/makefilebuildtool/modulelist.sh");
00019 
00020   string input;
00021   bool res=filestring::serialize(input,tempfile);
00022 
00023   if (res==false)
00024   {
00025     cout << "error: could not open file " << tempfile << endl;
00026     return false;
00027   }
00028 
00029   tokenizer tk;
00030   tk.readaslines(input);
00031 
00032   for ( tk.reset(); !tk; ++tk)
00033   {
00034     //cout << SHOW3(tk()) << endl;
00035     string targ=tk();
00036     string::size_type pos1=targ.find("/");
00037     string::size_type pos2=targ.rfind("/");
00038     // ./doc.html is excluded
00039     if (pos1==pos2)
00040       continue;
00041     assert(pos2!=string::npos);
00042     string file=targ.substr(pos2+1);
00043     string module=targ.substr(pos1+1,pos2-2);
00044     //cout << SHOW3(module) << " " << SHOW3(file) << endl;
00045 
00046     modules.push_back(module);
00047     doc.push_back(file);
00048   }
00049 
00050   return true;
00051 }


Member Data Documentation

vector<string> modulelist::doc

vector<string> modulelist::modules

string modulelist::tempfile = "/tmp/projfindmodules2.txt" [static]

Pass the data from script to this class.

Definition at line 27 of file modulelist.h.

Referenced by buildlist().


The documentation for this class was generated from the following files:

Generated on Fri Mar 4 00:50:07 2011 for Chelton Evans Source by  doxygen 1.5.8