Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

LCD_Document.hh

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------------
00002 // $Id: LCD_Document.hh,v 1.11 2004/02/03 12:45:21 uid561 Exp $
00003 // ----------------------------------------------------------------------------
00004 //
00005 // -*-c++-*-
00006 // LCD_Document.h
00007 // As this is currently structured, there is no need for a separate
00008 // implementation file.
00009 
00010 #ifndef LCD_DOCUMENT_H
00011 #define LCD_DOCUMENT_H
00012 
00013 #include <xercesc/dom/deprecated/DOM_Document.hpp>
00014 #include <xercesc/dom/deprecated/DOM_Element.hpp>
00015 
00016 class LCD_DocListener;
00017 
00018 // Virtual base class
00019 class  LCD_Document {
00020 public:
00021   // generated default constructor is good enough
00022   virtual ~LCD_Document() {};
00023 
00024   XERCES_CPP_NAMESPACE::DOM_Document getDocument() const {
00025     return myDoc;
00026   }
00027   XERCES_CPP_NAMESPACE::DOMString getDocTypeName() const {
00028     return docTypeName;
00029   }
00030 
00031   // All the remaining methods must be supplied by subclass
00032   virtual void registerListener(LCD_DocListener* ls) = 0;
00033   virtual int  deleteListener(LCD_DocListener* ls) = 0;
00034   virtual void notifyListeners() = 0;
00035 
00036   virtual XERCES_CPP_NAMESPACE::DOM_Element
00037   getElement(XERCES_CPP_NAMESPACE::DOMString id,
00038              XERCES_CPP_NAMESPACE::DOMString elementName
00039                = XERCES_CPP_NAMESPACE::DOMString("*")
00040              ) const = 0;
00041 
00042   bool eltPresent(XERCES_CPP_NAMESPACE::DOMString id,
00043                   XERCES_CPP_NAMESPACE::DOMString elementName
00044                    = XERCES_CPP_NAMESPACE::DOMString("*")
00045                   ) const
00046   {
00047     return (getElement(id,elementName) != XERCES_CPP_NAMESPACE::DOM_Element());
00048   }
00049 
00050   // Do we also want something like the following?
00051   //  virtual DOM_Element getElement(DOMString id, DOMString elementName,
00052   //                             int maxDepth) = 0;
00053 
00054 protected:
00055   // handle to DOM for document comes from file
00056   XERCES_CPP_NAMESPACE::DOM_Document myDoc;
00057   XERCES_CPP_NAMESPACE::DOMString docTypeName;
00058   // descrip attribute of document element, if there is one
00059   XERCES_CPP_NAMESPACE::DOMString descrip;
00060 };
00061 
00062 #endif

Generated on Thu Oct 7 18:44:46 2004 for LCDG4 by doxygen 1.3.4