00001 #ifndef REBECCA_FRAMEWORK_LI_H
00002 #define REBECCA_FRAMEWORK_LI_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifdef _WIN32
00031 # pragma warning ( push )
00032 # pragma warning( disable : 4251 )
00033 # pragma warning( disable : 4290 )
00034 #endif
00035
00036
00037 #include <rebecca/framework/InnerTemplateListImpl.h>
00038
00039 namespace rebecca
00040 {
00041 namespace framework
00042 {
00043 namespace impl
00044 {
00045
00046
00047
00048
00049
00060 class LiImpl;
00061
00073 class REBECCA_EXPORT Li: public InnerTemplateListImpl
00074 {
00075 public:
00076
00086 Li()
00087 throw(InternalProgrammerErrorException &);
00088
00100 virtual void setAttribute(const StringPimpl &name, const StringPimpl &value)
00101 throw(InternalProgrammerErrorException &);
00102
00114 virtual StringPimpl getPredicateName() const
00115 throw(InternalProgrammerErrorException &);
00116
00128 virtual StringPimpl getAimlPattern() const
00129 throw(InternalProgrammerErrorException &);
00130
00146 virtual bool isDefaultListItem() const
00147 throw(InternalProgrammerErrorException &);
00148
00164 virtual bool isValueOnlyListItem() const
00165 throw(InternalProgrammerErrorException &);
00166
00184 virtual bool isNameAndValueListItem() const
00185 throw(InternalProgrammerErrorException &);
00186
00191 virtual ~Li();
00192
00193 private:
00194
00205 LiImpl *m_pimpl;
00206 };
00207
00208 }
00209
00210
00211 using rebecca::framework::impl::Li;
00212
00213 }
00214 }
00215
00216 #ifdef _WIN32
00217 # pragma warning ( pop )
00218 #endif
00219
00220 #endif