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

pattern_page.hh

00001 /*
00002 *  Name:      pattern_page.hh
00003 *  Author:    Rafael Jesus Alcantara Perez
00004 *  Summary:   HTML pattern page
00005 *  Date:      $Date: 2003/04/14 00:18:34 $
00006 *  Revision:  $Revision: 1.1 $
00007 *
00008 *  Copyright (C) 1994-2002  Rafael Jesus Alcantara Perez <rafa@dedalo-ing.com>
00009 *
00010 *  This program is free software; you can redistribute it and/or modify
00011 *  it under the terms of the GNU General Public License as published by
00012 *  the Free Software Foundation; either version 2 of the License, or
00013 *  (at your option) any later version.
00014 *
00015 *  This program is distributed in the hope that it will be useful,
00016 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 *  GNU General Public License for more details.
00019 *
00020 *  You should have received a copy of the GNU General Public License
00021 *  along with this program; if not, write to the Free Software
00022 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00023 *  MA 02111-1307, USA.
00024 */
00025 
00026 #ifndef _MPCL_TEXT_HTML_PATTERN_PAGE__
00027 #define _MPCL_TEXT_HTML_PATTERN_PAGE__
00028 
00029 #include <iostream>
00030 #include <string>
00031 #include "../../io/input_streamable.hh"
00032 #include "base_page.hh"
00033 
00034 
00036 namespace mpcl
00037 {
00038 
00040   namespace text
00041   {
00042 
00044     namespace html
00045     {
00046 
00047       using io::IInputStreamable;
00048 
00054       class TPatternPage             :
00055         public    TBasePage          ,
00056         protected IInputStreamable<>
00057       {
00058 
00059         private:
00060 
00062           TString   yFileName;
00063 
00065           TString   yPattern;
00066 
00067 
00068         protected:
00069 
00070           //
00071           //  C O N S T R U C T O R S
00072           //
00073 
00074           void read (std::basic_istream<char>& rtSOURCE_ISTREAM);
00075 
00076 
00077         public:
00078 
00079           //
00080           //  C O N S T R U C T O R S
00081           //
00082 
00083           TPatternPage (const char* pkcIDENTIFIER, const char* pkcFILE_NAME) :
00084             TBasePage (pkcIDENTIFIER)                                        ,
00085             yFileName (pkcFILE_NAME)                                         ,
00086             yPattern  ()
00087           {
00088             tAttributeMap ["class-identifier"] = "page";
00089             readFromFile (yFileName);
00090           }
00091 
00092           TPatternPage (const char* pkcIDENTIFIER, const TString& rkyFILE_NAME) :
00093             TBasePage (pkcIDENTIFIER)                                           ,
00094             yFileName (rkyFILE_NAME)                                            ,
00095             yPattern  ()
00096           {
00097             tAttributeMap ["class-identifier"] = "page";
00098             readFromFile (yFileName);
00099           }
00100 
00106           TPatternPage (const char* pkcIDENTIFIER) :
00107             TBasePage (pkcIDENTIFIER)              ,
00108             yFileName ()                           ,
00109             yPattern  ()
00110           {
00111             tAttributeMap ["class-identifier"] = "page";
00112           }
00113 
00114           void readFromFile (const TString& rkyFILE_NAME);
00115 
00116 
00117         protected:
00118 
00119           //
00120           //  S E L E C T O R S
00121           //
00122 
00123           void writeUsing ( std::basic_ostream<char>& rtTARGET_OSTREAM               ,
00124                             const TString&            rkySOURCE_QUALIFIED_IDENTIFIER ) const;
00125 
00126       };  // class TPatternPage
00127 
00128     }  // namespace html
00129 
00130   }  // namespace text
00131 
00132 }  // namespace mpcl
00133 
00134 
00135 #endif  // not _MPCL_TEXT_HTML_PATTERN_PAGE__

Generated on Mon Oct 13 02:35:23 2003 for MPCL by doxygen1.2.18