Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

FragmentHandle Class Reference

#include <cmt_fragment.h>

Collaboration diagram for FragmentHandle:

Collaboration graph
[legend]
List of all members.

Public Methods

 FragmentHandle ()
 FragmentHandle (const cmt_string name)
FragmentHandle& operator= (const FragmentHandle& other)
void reset ()
void set (const cmt_string name)
cmt_stringname ()
cmt_stringsuffix ()
cmt_stringheader ()
cmt_stringtrailer ()
bool need_dependencies ()
bool copy (FILE* out, int variables, ...)
bool copy (cmt_string& out, int variables, ...)
bool wincopy (FILE* out, int variables, ...)
bool wincopy (cmt_string& out, int variables, ...)
bool copy (FILE* out, const Variable::VariableVector& vector, int variables, ...)
bool copy (cmt_string& out, const Variable::VariableVector& vector, int variables, ...)
bool wincopy (FILE* out, const Variable::VariableVector& vector, int variables, ...)
bool wincopy (cmt_string& out, const Variable::VariableVector& vector, int variables, ...)

Private Methods

bool setup ()

Private Attributes

Fragment_fragment
cmt_string _name
bool _initialized

Constructor & Destructor Documentation

FragmentHandle::FragmentHandle ( )
 

Definition at line 971 of file cmt_fragment.cxx.

00972 {
00973   _fragment = 0;
00974   _initialized = false;
00975 }

FragmentHandle::FragmentHandle ( const cmt_string name )
 

Definition at line 978 of file cmt_fragment.cxx.

00978                                                      : _name(name)
00979 {
00980   _fragment = 0;
00981   _initialized = false;
00982 }


Member Function Documentation

bool FragmentHandle::copy ( cmt_string & out,
const Variable::VariableVector & vector,
int variables,
... )
 

Definition at line 1161 of file cmt_fragment.cxx.

01162 {
01163   if (!setup ()) return (false);
01164 
01165   va_list ids;
01166 
01167   va_start (ids, variables);
01168   bool result = _fragment->copy (out, vector, variables, ids);
01169   va_end (ids);
01170 
01171   if (!result)
01172     {
01173       cout << "#CMT> Fragment " << _name << " not found" << endl;
01174       _fragment = 0;
01175     }
01176 
01177   return (result);
01178 }

bool FragmentHandle::copy ( FILE * out,
const Variable::VariableVector & vector,
int variables,
... )
 

Definition at line 1141 of file cmt_fragment.cxx.

01142 {
01143   if (!setup ()) return (false);
01144 
01145   va_list ids;
01146 
01147   va_start (ids, variables);
01148   bool result = _fragment->copy (out, vector, variables, ids);
01149   va_end (ids);
01150 
01151   if (!result)
01152     {
01153       cout << "#CMT> Fragment " << _name << " not found" << endl;
01154       _fragment = 0;
01155     }
01156 
01157   return (result);
01158 }

bool FragmentHandle::copy ( cmt_string & out,
int variables,
... )
 

Definition at line 1078 of file cmt_fragment.cxx.

01079 {
01080   if (!setup ()) return (false);
01081 
01082   va_list ids;
01083 
01084   va_start (ids, variables);
01085   bool result = _fragment->copy (out, variables, ids);
01086   va_end (ids);
01087 
01088   if (!result)
01089     {
01090       cout << "#CMT> Fragment " << _name << " not found" << endl;
01091       _fragment = 0;
01092     }
01093 
01094   return (result);
01095 }

bool FragmentHandle::copy ( FILE * out,
int variables,
... )
 

Definition at line 1058 of file cmt_fragment.cxx.

Referenced by Generator::build_constituents_makefile(), MakefileGenerator::build_document_makefile(), MakefileGenerator::build_library_makefile(), Generator::build_make_setup(), Generator::build_readme(), CmtModel::expand(), MakefileGenerator::java_file_action(), and MakefileGenerator::proto_file_action().

01059 {
01060   if (!setup ()) return (false);
01061 
01062   va_list ids;
01063 
01064   va_start (ids, variables);
01065   bool result = _fragment->copy (out, variables, ids);
01066   va_end (ids);
01067 
01068   if (!result)
01069     {
01070       cout << "#CMT> Fragment " << _name << " not found" << endl;
01071       _fragment = 0;
01072     }
01073 
01074   return (result);
01075 }

cmt_string & FragmentHandle::header ( )
 

Definition at line 1030 of file cmt_fragment.cxx.

01031 {
01032   static cmt_string null_string;
01033 
01034   if (!setup ()) return (null_string);
01035 
01036   return (_fragment->header);
01037 }

cmt_string & FragmentHandle::name ( )
 

Definition at line 1010 of file cmt_fragment.cxx.

01011 {
01012   static cmt_string null_string;
01013 
01014   if (!setup ()) return (null_string);
01015 
01016   return (_fragment->name);
01017 }

bool FragmentHandle::need_dependencies ( )
 

Definition at line 1050 of file cmt_fragment.cxx.

01051 {
01052   if (!setup ()) return (false);
01053 
01054   return (_fragment->need_dependencies);
01055 }

FragmentHandle & FragmentHandle::operator= ( const FragmentHandle & other )
 

Definition at line 985 of file cmt_fragment.cxx.

00986 {
00987   _name = other._name;
00988   _fragment = 0;
00989   _initialized = false;
00990 
00991   return (*this);
00992 }

void FragmentHandle::reset ( )
 

Definition at line 995 of file cmt_fragment.cxx.

Referenced by MakefileGenerator::reset().

00996 {
00997   _fragment = 0;
00998   _initialized = false;
00999 }

void FragmentHandle::set ( const cmt_string name )
 

Definition at line 1002 of file cmt_fragment.cxx.

01003 {
01004   _name = name;
01005   _fragment = 0;
01006   _initialized = false;
01007 }

bool FragmentHandle::setup ( ) [private]
 

Definition at line 1223 of file cmt_fragment.cxx.

Referenced by copy(), header(), name(), need_dependencies(), suffix(), trailer(), and wincopy().

01224 {
01225   if (!_initialized)
01226     {
01227       _initialized = true;
01228 
01229       _fragment = Fragment::find (_name);
01230       if (_fragment == 0)
01231         {
01232           cout << "#CMT> Fragment " << _name << " not found" << endl;
01233         }
01234     }
01235 
01236   if (_fragment == 0)
01237     {
01238       return (false);
01239     }
01240   else
01241     {
01242       return (true);
01243     }
01244 }

cmt_string & FragmentHandle::suffix ( )
 

Definition at line 1020 of file cmt_fragment.cxx.

01021 {
01022   static cmt_string null_string;
01023 
01024   if (!setup ()) return (null_string);
01025 
01026   return (_fragment->suffix);
01027 }

cmt_string & FragmentHandle::trailer ( )
 

Definition at line 1040 of file cmt_fragment.cxx.

01041 {
01042   static cmt_string null_string;
01043 
01044   if (!setup ()) return (null_string);
01045 
01046   return (_fragment->trailer);
01047 }

bool FragmentHandle::wincopy ( cmt_string & out,
const Variable::VariableVector & vector,
int variables,
... )
 

Definition at line 1201 of file cmt_fragment.cxx.

01204 {
01205   if (!setup ()) return (false);
01206 
01207   va_list ids;
01208 
01209   va_start (ids, variables);
01210   bool result = _fragment->wincopy (out, vector, variables, ids);
01211   va_end (ids);
01212 
01213   if (!result)
01214     {
01215       cout << "#CMT> Fragment " << _name << " not found" << endl;
01216       _fragment = 0;
01217     }
01218 
01219   return (result);
01220 }

bool FragmentHandle::wincopy ( FILE * out,
const Variable::VariableVector & vector,
int variables,
... )
 

Definition at line 1181 of file cmt_fragment.cxx.

01182 {
01183   if (!setup ()) return (false);
01184 
01185   va_list ids;
01186 
01187   va_start (ids, variables);
01188   bool result = _fragment->wincopy (out, vector, variables, ids);
01189   va_end (ids);
01190 
01191   if (!result)
01192     {
01193       cout << "#CMT> Fragment " << _name << " not found" << endl;
01194       _fragment = 0;
01195     }
01196 
01197   return (result);
01198 }

bool FragmentHandle::wincopy ( cmt_string & out,
int variables,
... )
 

Definition at line 1118 of file cmt_fragment.cxx.

01119 {
01120   if (!setup ()) return (false);
01121 
01122   va_list ids;
01123 
01124   va_start (ids, variables);
01125   bool result = _fragment->wincopy (out, variables, ids);
01126   va_end (ids);
01127 
01128   if (!result)
01129     {
01130       cout << "#CMT> Fragment " << _name << " not found" << endl;
01131       _fragment = 0;
01132     }
01133 
01134   return (result);
01135 }

bool FragmentHandle::wincopy ( FILE * out,
int variables,
... )
 

Definition at line 1098 of file cmt_fragment.cxx.

Referenced by Generator::build_msdev(), and Generator::build_msdev_workspace().

01099 {
01100   if (!setup ()) return (false);
01101 
01102   va_list ids;
01103 
01104   va_start (ids, variables);
01105   bool result = _fragment->wincopy (out, variables, ids);
01106   va_end (ids);
01107 
01108   if (!result)
01109     {
01110       cout << "#CMT> Fragment " << _name << " not found" << endl;
01111       _fragment = 0;
01112     }
01113 
01114   return (result);
01115 }


Member Data Documentation

Fragment * FragmentHandle::_fragment [private]
 

Definition at line 129 of file cmt_fragment.h.

bool FragmentHandle::_initialized [private]
 

Definition at line 131 of file cmt_fragment.h.

cmt_string FragmentHandle::_name [private]
 

Definition at line 130 of file cmt_fragment.h.


The documentation for this class was generated from the following files:
Generated at Thu Apr 11 16:50:44 2002 for CMT by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000