00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef NL_FACT_H
00027 #define NL_FACT_H
00028
00029 #include "nel/ai/logic/valueset.h"
00030
00031 namespace NLAILOGIC {
00032 class IBaseAssert;
00033 class CValueSet;
00034 class CVarSet;
00035
00036 class CFact : public CValueSet
00037 {
00038 private:
00039 IBaseAssert *_Assert;
00040 NLAIAGENT::IVarName *_AssertName;
00041 public:
00042
00043 CFact();
00044 CFact(IBaseAssert *);
00045 CFact(IBaseAssert *, bool);
00046 CFact(IBaseAssert *, CValueSet *);
00047 CFact(IBaseAssert *, CVarSet *);
00048 virtual ~CFact();
00049
00050 CFact(sint32,NLAIAGENT::IVarName *);
00051 CFact(NLAIAGENT::IVarName &);
00052 CFact(NLAIAGENT::IVarName &, bool);
00053 CFact(NLAIAGENT::IVarName &, CValueSet *);
00054 CFact(NLAIAGENT::IVarName &, CVarSet *);
00055
00056 CFact(const CFact &);
00057
00058 const NLAIC::IBasicType *clone() const;
00059 const NLAIC::IBasicType *newInstance() const;
00060
00061 static const NLAIC::CIdentType IdFact;
00062
00063 IBaseAssert *getAssert();
00064 NLAIAGENT::IVarName &getAssertName();
00065 virtual void getDebugString(std::string &) const;
00066 virtual void propagate();
00067 virtual bool operator == (const NLAIAGENT::IBasicObjectIA &a) const;
00068 CValueSet *asValueSet();
00069
00070 virtual NLAIAGENT::tQueue isMember(const NLAIAGENT::IVarName *,const NLAIAGENT::IVarName *,const NLAIAGENT::IObjectIA &) const;
00071 virtual NLAIAGENT::IObjectIA::CProcessResult runMethodeMember(sint32, sint32, NLAIAGENT::IObjectIA *);
00072 virtual NLAIAGENT::IObjectIA::CProcessResult runMethodeMember(sint32 index, NLAIAGENT::IObjectIA *p);
00073 sint32 getMethodIndexSize() const;
00074
00075 virtual const NLAIC::CIdentType &getType() const;
00076 };
00077 }
00078
00079 #endif