void POVMS_Object::Merge(POVMS_Object& source) { int err; err = POVMSObject_Merge(&source.data, &data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
void POVMS_Object::SetType(POVMSType key, POVMSType value) { int err; err = POVMSUtil_SetType(&data, key, value); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
void POVMS_Object::Remove(POVMSType key) { int err; err = POVMSObject_Remove(&data, key); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
POVMS_Object::~POVMS_Object() { int err; err = POVMSObject_Delete(&data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
POVMS_Object::POVMS_Object(POVMSType objclass) { int err; err = POVMSObject_New(&data, objclass); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
POVMS_Message::POVMS_Message(POVMS_Object& convert, POVMSType msgclass, POVMSType msgid) : POVMS_Object(convert) { int err; err = POVMSMsg_SetupMessage(&data, msgclass, msgid); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
void POVMS_Message::SetDestinationAddress(POVMSAddress addr) { int err; err = POVMSMsg_SetDestinationAddress(&data, addr); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
void POVMS_List::Clear() { int err; err = POVMSAttrList_Clear(&data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
void POVMS_Object::SetUCS2String(POVMSType key, const POVMSUCS2 *str) { int err; err = POVMSUtil_SetUCS2String(&data, key, str); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
void POVMS_List::RemoveNth(int index) { int err; err = POVMSAttrList_RemoveNth(&data, index); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
POVMS_List::POVMS_List(const POVMS_List& source) { int err; err = POVMSAttrList_Copy(&source.data, &data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
POVMS_List::~POVMS_List() { int err; err = POVMSAttrList_Delete(&data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
void POVMS_Attribute::Set(POVMSType type, const void *data, int datasize) { int err; err = POVMSAttr_Set(&this->data, type, data, datasize); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
POVMS_Attribute::~POVMS_Attribute() { int err; err = POVMSAttr_Delete(&data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
POVMS_Attribute::POVMS_Attribute(const POVMS_Attribute& source) { int err; err = POVMSAttr_Copy(&source.data, &data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); }
POVMS_Attribute::POVMS_Attribute(const POVMSUCS2 *str) { int len; int err; for(len = 0; str[len] != 0; len++) { } err = POVMSAttr_New(&data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); err = POVMSAttr_Set(&data, kPOVMSType_UCS2String, reinterpret_cast<const void *>(str), (len + 1) * 2); if(err != pov_base::kNoErr) { (void)POVMSAttr_Delete(&data); throw POV_EXCEPTION_CODE(err); } }
void PreWriteFrame(OStream *, const Animation::WriteOptions&, vector<string>&, void *state) { PrivateData *pd = reinterpret_cast<PrivateData *>(state); if(pd == NULL) throw POV_EXCEPTION_CODE(kNullPointerErr); // there really is nothing to do here [trf] }
void POVMS_Object::Set(POVMSType key, POVMS_Object& attr) { int err; err = POVMSObject_Set(&data, &attr.data, key); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); attr.DetachData(); }
void POVMS_List::SetNth(int index, POVMS_Object& item) { int err; err = POVMSAttrList_SetNth(&data, index, &item.data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); item.DetachData(); }
int POVMS_Object::GetUCS2String(POVMSType key, POVMSUCS2 *str, int maxlen) { int err; err = POVMSUtil_GetUCS2String(&data, key, str, &maxlen); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); return maxlen; }
void POVMS_List::Append(POVMS_Object& item) { int err; err = POVMSAttrList_Append(&data, &item.data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); item.DetachData(); }
OTextStream::OTextStream(const UCS2 *sname, unsigned int stype, bool append) { if(sname == NULL) throw POV_EXCEPTION_CODE(kParamErr); stream = NewOStream(sname, stype, append); if(stream == NULL) throw POV_EXCEPTION(kCannotOpenFileErr, string("Cannot open file '") + UCS2toASCIIString(sname) + "' for output."); filename = UCS2String(sname); }
POVMS_Object::POVMS_Object(const POVMS_Object& source) { if(source.IsNull() == false) { int err; err = POVMSObject_Copy(&source.data, &data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); } }
int POVMS_List::GetListSize() { int len = 0; int err; err = POVMSAttrList_Count(&data, &len); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); return len; }
void POVMS_SendMessage(POVMS_Message& msg) { int err; err = POVMS_Send(nullptr, &msg.data, nullptr, kPOVMSSendMode_NoReply); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); msg.DetachData(); }
POVMSAddress POVMS_Message::GetDestinationAddress() { POVMSAddress addr; int err; err = POVMSMsg_GetDestinationAddress(&data, &addr); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); return addr; }
POVMSType POVMS_Message::GetIdentifier() { POVMSType type; int err; err = POVMSMsg_GetMessageIdentifier(&data, &type); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); return type; }
POVMSType POVMS_Object::GetType(POVMSType key) { POVMSType value; int err; err = POVMSUtil_GetType(&data, key, &value); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); return value; }
int POVMS_Object::GetUCS2StringLength(POVMSType key) { int len = 0; int err; err = POVMSUtil_GetUCS2StringLength(&data, key, &len); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); return len; }
POVMS_Object& POVMS_Object::operator=(const POVMS_Object& source) { int err; err = POVMSObject_Delete(&data); if((err == pov_base::kNoErr) && (IsNull() == false)) err = POVMSObject_Copy(&source.data, &data); if(err != pov_base::kNoErr) throw POV_EXCEPTION_CODE(err); return *this; }