Pol
Revision:cb584c9
|
#include <bstruct.h>
Public Types | |
typedef std::map< std::string, BObjectRef, Clib::ci_cmp_pred > | Contents |
![]() | |
enum | BObjectType : u8 { OTUnknown = 0, OTUninit = 1, OTString = 2, OTLong = 3, OTDouble = 4, OTArray = 5, OTApplicPtr = 6, OTApplicObj = 7, OTError = 8, OTDictionary = 9, OTStruct = 10, OTPacket = 11, OTBinaryFile = 12, OTXMLFile = 13, OTXMLNode = 14, OTXMLAttributes = 15, OTPolCoreRef = 16, OTAccountRef = 17, OTConfigFileRef = 18, OTConfigElemRef = 19, OTDataFileRef = 20, OTDataElemRef = 21, OTGuildRef = 22, OTPartyRef = 23, OTBoundingBox = 24, OTDebugContext = 25, OTScriptExRef = 26, OTPackage = 27, OTMenuRef = 28, OTMobileRef = 29, OTOfflineMobileRef = 30, OTItemRef = 31, OTBoatRef = 32, OTMultiRef = 33, OTClientRef = 34, OTSQLConnection = 35, OTSQLResultSet = 36, OTSQLRow = 37, OTBoolean = 38, OTFuncRef = 39 } |
Public Member Functions | |
BStruct () | |
BStruct (std::istream &is, unsigned size, BObjectType type) | |
void | addMember (const char *name, BObjectRef val) |
void | addMember (const char *name, BObjectImp *imp) |
const Contents & | contents () const |
const BObjectImp * | FindMember (const char *name) |
size_t | mapcount () const |
![]() | |
BObjectImp (BObjectType type) | |
virtual | ~BObjectImp () |
virtual BObjectImp * | bitnot () const |
virtual long | contains (const BObjectImp &objimp) const |
virtual BObjectRef | get_member_id (const int id) |
virtual std::string | getFormattedStringRep () const |
unsigned int | instance () const |
virtual BObjectImp * | inverse () const |
bool | isa (BObjectType type) const |
virtual bool | isTrue () const |
virtual char | member (const BObject &obj) const |
virtual bool | operator!= (const BObjectImp &objimp) const |
virtual BObject | operator- () const |
virtual bool | operator< (const BObjectImp &objimp) const |
virtual bool | operator<= (const BObjectImp &objimp) const |
virtual bool | operator== (const BObjectImp &objimp) const |
virtual bool | operator> (const BObjectImp &objimp) const |
virtual bool | operator>= (const BObjectImp &objimp) const |
virtual void | operDivideEqual (BObject &obj, BObjectImp &objimp) |
virtual void | operInsertInto (BObject &obj, const BObjectImp &objimp) |
virtual void | operMinusEqual (BObject &obj, BObjectImp &objimp) |
virtual void | operModulusEqual (BObject &obj, BObjectImp &objimp) |
virtual BObjectRef | OperMultiSubscript (std::stack< BObjectRef > &indices) |
virtual BObjectRef | OperMultiSubscriptAssign (std::stack< BObjectRef > &indices, BObjectImp *target) |
virtual void | operPlusEqual (BObject &obj, BObjectImp &objimp) |
virtual void | operTimesEqual (BObject &obj, BObjectImp &objimp) |
virtual std::string | pack () const |
virtual void | printOn (std::ostream &) const |
virtual BObjectImp * | selfBitAndObj (const BObjectImp &objimp) const |
virtual BObjectImp * | selfBitAndObj (const BLong &objimp) const |
virtual BObjectImp * | selfBitAndObj (const Double &objimp) const |
virtual BObjectImp * | selfBitAndObj (const String &objimp) const |
virtual BObjectImp * | selfBitAndObj (const ObjArray &objimp) const |
virtual void | selfBitAndObj (BObjectImp &objimp, BObject &obj) |
virtual void | selfBitAndObj (BLong &objimp, BObject &obj) |
virtual void | selfBitAndObj (Double &objimp, BObject &obj) |
virtual void | selfBitAndObj (String &objimp, BObject &obj) |
virtual void | selfBitAndObj (ObjArray &objimp, BObject &obj) |
virtual BObjectImp * | selfBitAndObjImp (const BObjectImp &objimp) const |
virtual void | selfBitAndObjImp (BObjectImp &objimp, BObject &obj) |
virtual BObjectImp * | selfBitOrObj (const BObjectImp &objimp) const |
virtual BObjectImp * | selfBitOrObj (const BLong &objimp) const |
virtual BObjectImp * | selfBitOrObj (const Double &objimp) const |
virtual BObjectImp * | selfBitOrObj (const String &objimp) const |
virtual BObjectImp * | selfBitOrObj (const ObjArray &objimp) const |
virtual void | selfBitOrObj (BObjectImp &objimp, BObject &obj) |
virtual void | selfBitOrObj (BLong &objimp, BObject &obj) |
virtual void | selfBitOrObj (Double &objimp, BObject &obj) |
virtual void | selfBitOrObj (String &objimp, BObject &obj) |
virtual void | selfBitOrObj (ObjArray &objimp, BObject &obj) |
virtual BObjectImp * | selfBitOrObjImp (const BObjectImp &objimp) const |
virtual void | selfBitOrObjImp (BObjectImp &objimp, BObject &obj) |
virtual BObjectImp * | selfBitShiftLeftObj (const BObjectImp &objimp) const |
virtual BObjectImp * | selfBitShiftLeftObj (const BLong &objimp) const |
virtual BObjectImp * | selfBitShiftLeftObj (const Double &objimp) const |
virtual BObjectImp * | selfBitShiftLeftObj (const String &objimp) const |
virtual BObjectImp * | selfBitShiftLeftObj (const ObjArray &objimp) const |
virtual void | selfBitShiftLeftObj (BObjectImp &objimp, BObject &obj) |
virtual void | selfBitShiftLeftObj (BLong &objimp, BObject &obj) |
virtual void | selfBitShiftLeftObj (Double &objimp, BObject &obj) |
virtual void | selfBitShiftLeftObj (String &objimp, BObject &obj) |
virtual void | selfBitShiftLeftObj (ObjArray &objimp, BObject &obj) |
virtual BObjectImp * | selfBitShiftLeftObjImp (const BObjectImp &objimp) const |
virtual void | selfBitShiftLeftObjImp (BObjectImp &objimp, BObject &obj) |
virtual BObjectImp * | selfBitShiftRightObj (const BObjectImp &objimp) const |
virtual BObjectImp * | selfBitShiftRightObj (const BLong &objimp) const |
virtual BObjectImp * | selfBitShiftRightObj (const Double &objimp) const |
virtual BObjectImp * | selfBitShiftRightObj (const String &objimp) const |
virtual BObjectImp * | selfBitShiftRightObj (const ObjArray &objimp) const |
virtual void | selfBitShiftRightObj (BObjectImp &objimp, BObject &obj) |
virtual void | selfBitShiftRightObj (BLong &objimp, BObject &obj) |
virtual void | selfBitShiftRightObj (Double &objimp, BObject &obj) |
virtual void | selfBitShiftRightObj (String &objimp, BObject &obj) |
virtual void | selfBitShiftRightObj (ObjArray &objimp, BObject &obj) |
virtual BObjectImp * | selfBitShiftRightObjImp (const BObjectImp &objimp) const |
virtual void | selfBitShiftRightObjImp (BObjectImp &objimp, BObject &obj) |
virtual BObjectImp * | selfBitXorObj (const BObjectImp &objimp) const |
virtual BObjectImp * | selfBitXorObj (const BLong &objimp) const |
virtual BObjectImp * | selfBitXorObj (const Double &objimp) const |
virtual BObjectImp * | selfBitXorObj (const String &objimp) const |
virtual BObjectImp * | selfBitXorObj (const ObjArray &objimp) const |
virtual void | selfBitXorObj (BObjectImp &objimp, BObject &obj) |
virtual void | selfBitXorObj (BLong &objimp, BObject &obj) |
virtual void | selfBitXorObj (Double &objimp, BObject &obj) |
virtual void | selfBitXorObj (String &objimp, BObject &obj) |
virtual void | selfBitXorObj (ObjArray &objimp, BObject &obj) |
virtual BObjectImp * | selfBitXorObjImp (const BObjectImp &objimp) const |
virtual void | selfBitXorObjImp (BObjectImp &objimp, BObject &obj) |
virtual BObjectImp * | selfDividedByObj (const BObjectImp &objimp) const |
virtual BObjectImp * | selfDividedByObj (const BLong &objimp) const |
virtual BObjectImp * | selfDividedByObj (const Double &objimp) const |
virtual BObjectImp * | selfDividedByObj (const String &objimp) const |
virtual BObjectImp * | selfDividedByObj (const ObjArray &objimp) const |
virtual void | selfDividedByObj (BObjectImp &objimp, BObject &obj) |
virtual void | selfDividedByObj (BLong &objimp, BObject &obj) |
virtual void | selfDividedByObj (Double &objimp, BObject &obj) |
virtual void | selfDividedByObj (String &objimp, BObject &obj) |
virtual void | selfDividedByObj (ObjArray &objimp, BObject &obj) |
virtual BObjectImp * | selfDividedByObjImp (const BObjectImp &objimp) const |
virtual void | selfDividedByObjImp (BObjectImp &objimp, BObject &obj) |
virtual BObjectImp * | selfMinusObj (const BObjectImp &objimp) const |
virtual BObjectImp * | selfMinusObj (const BLong &objimp) const |
virtual BObjectImp * | selfMinusObj (const Double &objimp) const |
virtual BObjectImp * | selfMinusObj (const String &objimp) const |
virtual BObjectImp * | selfMinusObj (const ObjArray &objimp) const |
virtual void | selfMinusObj (BObjectImp &objimp, BObject &obj) |
virtual void | selfMinusObj (BLong &objimp, BObject &obj) |
virtual void | selfMinusObj (Double &objimp, BObject &obj) |
virtual void | selfMinusObj (String &objimp, BObject &obj) |
virtual void | selfMinusObj (ObjArray &objimp, BObject &obj) |
virtual BObjectImp * | selfMinusObjImp (const BObjectImp &objimp) const |
virtual void | selfMinusObjImp (BObjectImp &objimp, BObject &obj) |
virtual BObjectImp * | selfModulusObj (const BObjectImp &objimp) const |
virtual BObjectImp * | selfModulusObj (const BLong &objimp) const |
virtual BObjectImp * | selfModulusObj (const Double &objimp) const |
virtual BObjectImp * | selfModulusObj (const String &objimp) const |
virtual BObjectImp * | selfModulusObj (const ObjArray &objimp) const |
virtual void | selfModulusObj (BObjectImp &objimp, BObject &obj) |
virtual void | selfModulusObj (BLong &objimp, BObject &obj) |
virtual void | selfModulusObj (Double &objimp, BObject &obj) |
virtual void | selfModulusObj (String &objimp, BObject &obj) |
virtual void | selfModulusObj (ObjArray &objimp, BObject &obj) |
virtual BObjectImp * | selfModulusObjImp (const BObjectImp &objimp) const |
virtual void | selfModulusObjImp (BObjectImp &objimp, BObject &obj) |
virtual BObjectImp * | selfPlusObj (const BObjectImp &objimp) const |
virtual BObjectImp * | selfPlusObj (const BLong &objimp) const |
virtual BObjectImp * | selfPlusObj (const Double &objimp) const |
virtual BObjectImp * | selfPlusObj (const String &objimp) const |
virtual BObjectImp * | selfPlusObj (const ObjArray &objimp) const |
virtual void | selfPlusObj (BObjectImp &objimp, BObject &obj) |
virtual void | selfPlusObj (BLong &objimp, BObject &obj) |
virtual void | selfPlusObj (Double &objimp, BObject &obj) |
virtual void | selfPlusObj (String &objimp, BObject &obj) |
virtual void | selfPlusObj (ObjArray &objimp, BObject &obj) |
virtual BObjectImp * | selfPlusObjImp (const BObjectImp &objimp) const |
virtual void | selfPlusObjImp (BObjectImp &objimp, BObject &obj) |
virtual BObjectImp * | selfTimesObj (const BObjectImp &objimp) const |
virtual BObjectImp * | selfTimesObj (const BLong &objimp) const |
virtual BObjectImp * | selfTimesObj (const Double &objimp) const |
virtual BObjectImp * | selfTimesObj (const String &objimp) const |
virtual BObjectImp * | selfTimesObj (const ObjArray &objimp) const |
virtual void | selfTimesObj (BObjectImp &objimp, BObject &obj) |
virtual void | selfTimesObj (BLong &objimp, BObject &obj) |
virtual void | selfTimesObj (Double &objimp, BObject &obj) |
virtual void | selfTimesObj (String &objimp, BObject &obj) |
virtual void | selfTimesObj (ObjArray &objimp, BObject &obj) |
virtual BObjectImp * | selfTimesObjImp (const BObjectImp &objimp) const |
virtual void | selfTimesObjImp (BObjectImp &objimp, BObject &obj) |
virtual BObjectRef | set_member_id (const int id, BObjectImp *valueimp, bool copy) |
virtual char | str_member (const std::string &membername) const |
BObjectType | type () const |
![]() | |
unsigned int | add_ref () |
unsigned int | count () const |
unsigned int | release () |
Static Public Member Functions | |
static BObjectImp * | unpack (std::istream &is) |
![]() | |
static const char * | typestr (BObjectType typ) |
static BObjectImp * | unpack (const char *pstr) |
static BObjectImp * | unpack (std::istream &is) |
Protected Member Functions | |
BStruct (const BStruct &other, BObjectType type) | |
BStruct (BObjectType type) | |
virtual BObjectImp * | array_assign (BObjectImp *idx, BObjectImp *target, bool copy) POL_OVERRIDE |
virtual BObjectImp * | call_method (const char *methodname, Executor &ex) POL_OVERRIDE |
virtual BObjectImp * | call_method_id (const int id, Executor &ex, bool forcebuiltin=false) POL_OVERRIDE |
virtual BObjectImp * | copy () const POL_OVERRIDE |
virtual ContIterator * | createIterator (BObject *pIterVal) POL_OVERRIDE |
virtual void | FormatForStringRep (std::ostream &os, const std::string &key, const BObjectRef &bvalref) const |
virtual BObjectRef | get_member (const char *membername) POL_OVERRIDE |
virtual std::string | getStringRep () const POL_OVERRIDE |
virtual BObjectRef | operDotMinus (const char *name) POL_OVERRIDE |
virtual BObjectRef | operDotPlus (const char *name) POL_OVERRIDE |
virtual BObjectRef | operDotQMark (const char *name) POL_OVERRIDE |
virtual BObjectRef | OperSubscript (const BObject &obj) POL_OVERRIDE |
virtual void | packonto (std::ostream &os) const POL_OVERRIDE |
virtual char | packtype () const |
virtual BObjectRef | set_member (const char *membername, BObjectImp *value, bool copy) POL_OVERRIDE |
virtual size_t | sizeEstimate () const POL_OVERRIDE |
virtual const char * | typeOf () const POL_OVERRIDE |
virtual u8 | typeOfInt () const POL_OVERRIDE |
virtual const char * | typetag () const |
![]() | |
ref_counted () | |
~ref_counted ()=default | |
Private Member Functions | |
BStruct & | operator= (const BStruct &) |
Private Attributes | |
Contents | contents_ |
Friends | |
class | BStructIterator |
Additional Inherited Members | |
![]() | |
std::atomic< unsigned int > | _count |
typedef std::map<std::string, BObjectRef, Clib::ci_cmp_pred> Pol::Bscript::BStruct::Contents |
Pol::Bscript::BStruct::BStruct | ( | ) |
Definition at line 28 of file bstruct.cpp.
Pol::Bscript::BStruct::BStruct | ( | std::istream & | is, |
unsigned | size, | ||
BObjectType | type | ||
) |
Definition at line 43 of file bstruct.cpp.
References contents_, Pol::Bscript::BObjectImp::isa(), Pol::Bscript::BObjectImp::OTString, Pol::Bscript::BObjectImp::unpack(), and Pol::Bscript::String::value().
|
explicitprotected |
Definition at line 32 of file bstruct.cpp.
References contents_.
|
explicitprotected |
Definition at line 30 of file bstruct.cpp.
void Pol::Bscript::BStruct::addMember | ( | const char * | name, |
BObjectRef | val | ||
) |
Definition at line 305 of file bstruct.cpp.
References Pol::Bscript::BStructIterator::key.
Referenced by Pol::Bscript::BError::BError(), Pol::Module::handle_coord_cursor(), Pol::Module::ItemGivenEvent::ItemGivenEvent(), Pol::Module::menu_selection_made(), Pol::Module::UOExecutorModule::mf_FindPath(), Pol::Module::UOExecutorModule::mf_GetCoordsInLine(), Pol::Module::UOExecutorModule::mf_SaveWorldState(), Pol::Items::ArmorDesc::PopulateStruct(), Pol::Items::WeaponDesc::PopulateStruct(), Pol::Items::ItemDesc::PopulateStruct(), Pol::Items::ContainerDesc::PopulateStruct(), Pol::Items::DoorDesc::PopulateStruct(), Pol::Items::SpellbookDesc::PopulateStruct(), Pol::Items::SpellScrollDesc::PopulateStruct(), and Pol::Items::MapDesc::PopulateStruct().
void Pol::Bscript::BStruct::addMember | ( | const char * | name, |
BObjectImp * | imp | ||
) |
Definition at line 311 of file bstruct.cpp.
References Pol::Bscript::BStructIterator::key.
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Reimplemented in Pol::Bscript::BError.
Definition at line 273 of file bstruct.cpp.
References Pol::Bscript::BObjectImp::copy(), Pol::Bscript::String::find(), Pol::Bscript::BObjectImp::isa(), Pol::Bscript::BObjectImp::OTLong, Pol::Bscript::BObjectImp::OTString, and Pol::Bscript::String::value().
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Definition at line 390 of file bstruct.cpp.
References Pol::Bscript::BObjectImp::call_method_id(), Pol::Bscript::getKnownObjMethod(), and Pol::Bscript::ObjMethod::id.
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Definition at line 317 of file bstruct.cpp.
References Pol::Bscript::BObjectImp::copy(), ref_counted::count(), Pol::Bscript::Executor::getParamObj(), Pol::Bscript::BObjectImp::isa(), Pol::Bscript::MTH_ERASE, Pol::Bscript::MTH_EXISTS, Pol::Bscript::MTH_INSERT, Pol::Bscript::MTH_KEYS, Pol::Bscript::MTH_SIZE, Pol::Bscript::Executor::numParams(), Pol::Bscript::BObjectImp::OTString, and Pol::Bscript::String::value().
const BStruct::Contents & Pol::Bscript::BStruct::contents | ( | ) | const |
Definition at line 466 of file bstruct.cpp.
Referenced by Pol::Core::BXMLfile::call_method_id(), Pol::Core::BXmlNode::call_method_id(), Pol::Items::CreateItemDescriptor(), Pol::Module::OSExecutorModule::mf_HTTPRequest(), Pol::Module::recurseE2J(), and Pol::Module::replace_properties().
|
protectedvirtual |
Implements Pol::Bscript::BObjectImp.
Reimplemented in Pol::Bscript::BError.
Definition at line 68 of file bstruct.cpp.
References BStruct(), Pol::Bscript::BObjectImp::isa(), Pol::Bscript::BObjectImp::OTStruct, and passert.
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Reimplemented in Pol::Bscript::BError.
Definition at line 173 of file bstruct.cpp.
References Pol::Bscript::BStructIterator::BStructIterator().
const BObjectImp * Pol::Bscript::BStruct::FindMember | ( | const char * | name | ) |
Definition at line 216 of file bstruct.cpp.
References Pol::Bscript::BStructIterator::key.
Referenced by Pol::Module::ConfigFileExecutorModule::mf_AppendConfigFileElem(), Pol::Module::OSExecutorModule::mf_HTTPRequest(), and Pol::Module::UOExecutorModule::mf_SendPopUpMenu().
|
protectedvirtual |
Definition at line 113 of file bstruct.cpp.
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Definition at line 231 of file bstruct.cpp.
References Pol::Bscript::UninitObject::create(), and Pol::Bscript::BStructIterator::key.
|
protectedvirtual |
Implements Pol::Bscript::BObjectImp.
Definition at line 412 of file bstruct.cpp.
References Pol::Bscript::BStructIterator::key, OSTRINGSTREAM, and OSTRINGSTREAM_STR.
size_t Pol::Bscript::BStruct::mapcount | ( | ) | const |
Definition at line 190 of file bstruct.cpp.
Referenced by Pol::Module::BasicExecutorModule::len().
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Definition at line 452 of file bstruct.cpp.
References Pol::Bscript::BStructIterator::key.
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Definition at line 437 of file bstruct.cpp.
References Pol::Bscript::BStructIterator::key.
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Definition at line 459 of file bstruct.cpp.
References ref_counted::count(), and Pol::Bscript::BStructIterator::key.
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Reimplemented in Pol::Bscript::BError.
Definition at line 246 of file bstruct.cpp.
References Pol::Bscript::UninitObject::create(), Pol::Bscript::String::find(), Pol::Bscript::BObject::impptr(), Pol::Bscript::BObjectImp::isa(), Pol::Bscript::BObjectImp::OTLong, Pol::Bscript::BObjectImp::OTString, and Pol::Bscript::String::value().
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Definition at line 399 of file bstruct.cpp.
References Pol::Bscript::BStructIterator::key, and Pol::Bscript::String::packonto().
|
protectedvirtual |
Reimplemented in Pol::Bscript::BError.
Definition at line 73 of file bstruct.cpp.
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Definition at line 196 of file bstruct.cpp.
References Pol::Bscript::BObjectImp::copy(), and Pol::Bscript::BStructIterator::key.
|
protectedvirtual |
Implements Pol::Bscript::BObjectImp.
Definition at line 178 of file bstruct.cpp.
References Pol::Bscript::BObjectRef::sizeEstimate().
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Reimplemented in Pol::Bscript::BError.
Definition at line 83 of file bstruct.cpp.
|
protectedvirtual |
Reimplemented from Pol::Bscript::BObjectImp.
Reimplemented in Pol::Bscript::BError.
Definition at line 87 of file bstruct.cpp.
References Pol::Bscript::BObjectImp::OTStruct.
|
protectedvirtual |
Reimplemented in Pol::Bscript::BError.
Definition at line 78 of file bstruct.cpp.
|
static |
Definition at line 93 of file bstruct.cpp.
References BStruct(), and Pol::Bscript::BObjectImp::OTStruct.
Referenced by Pol::Bscript::BObjectImp::unpack().
|
friend |
|
private |
Definition at line 88 of file bstruct.h.
Referenced by BStruct(), and Pol::Bscript::BStructIterator::step().