T* Get(uint32_t objectIndex) { auto objectHeader = GetObjects().Get(objectIndex); if (objectHeader) return static_cast<T*>(objectHeader->Data); return nullptr; }
BOOL CEmbeddedObject::IsAllocatedInObjects(void) { CObjects* pcObjects; pcObjects = GetObjects(); return pcObjects != NULL; }
void CGroupObject::SaveStream(IWriter& F) { CCustomObject::SaveStream(F); F.open_chunk (GROUPOBJ_CHUNK_VERSION); F.w_u16 (GROUPOBJ_CURRENT_VERSION); F.close_chunk (); { ObjectList grp_lst; GetObjects (grp_lst); ObjectList::iterator it; for (it=grp_lst.begin(); it!=grp_lst.end(); ++it) (*it)->m_CO_Flags.set(CCustomObject::flObjectInGroup, FALSE); Scene->SaveObjectsStream(grp_lst,GROUPOBJ_CHUNK_OBJECT_LIST,F); for (it=grp_lst.begin(); it!=grp_lst.end(); ++it) (*it)->m_CO_Flags.set(CCustomObject::flObjectInGroup, TRUE); } F.open_chunk (GROUPOBJ_CHUNK_REFERENCE); F.w_stringZ (m_ReferenceName_); F.close_chunk (); }
// Save/load void CPhysicsMotionController::WriteToTemplate( vphysics_save_motioncontroller_t &controllerTemplate ) { controllerTemplate.m_nPriority = m_priority; int nObjectCount = CountObjects(); controllerTemplate.m_objectList.AddMultipleToTail( nObjectCount ); GetObjects( controllerTemplate.m_objectList.Base() ); }
void TestManager::TestMailProcess_Disinfect (const string& data_folder) { LOG_CALL3("Test folder ",data_folder,"\n"); GetObjects(h_Proto, h_TaskManager, h_TrafficMonitor); tERROR error = h_TrafficMonitor->sysRegisterMsgHandler(pmc_TASK_STATE_CHANGED, rmhLISTENER, h_TrafficMonitor, IID_ANY, PID_ANY, IID_ANY, PID_ANY ); SetEvent (hProtoStateChangeExpected); h_Proto->SetState (TASK_REQUEST_RUN); WaitForSingleObject (hProtoStateChanged, INFINITE); _ASSERTE (m_ProtoState = TASK_STATE_RUNNING); SessionData* p_SD = SessionData::StartSession (this); auto_ptr<vector<string> > packets = aux::get_raw_packets (data_folder.c_str()); auto_ptr<vector<aux::output_packet> > out_packets = aux::get_output_packets ((hOBJECT)g_root, data_folder.c_str()); auto_ptr<vector<hIO> > control_files = aux::get_control_files ((hOBJECT)g_root, data_folder.c_str()); CONFIGURE(10000,100) vector<string> packets_in1; vector<aux::output_packet> packets_out1; //до FETCH включительно packets_in1.assign (packets->begin(), packets->begin() + 8); packets_out1.assign (out_packets->begin(), out_packets->begin() + 8); p_SD->SendBytesToProcess (&packets_in1, &packets_out1); //ответ на FETCH (подменим файл aka пролечили) bTraceMailProcess = true; SetEvent (hMailProcessExpected); mc_ToProto_flags = mcv_MESSAGE_AV_DISINFECTED; mc_ToProto_virname = "Mega.Virus"; io_ToProto = aux::create_io_from_disk (std::string(data_folder).append("\\object.09.chk.mod")); //само сообщение packets_in1.assign (packets->begin()+8, packets->begin() + 9); packets_out1.assign (out_packets->begin()+8, out_packets->begin() + 9); p_SD->SendBytesToProcess (&packets_in1, &packets_out1); WaitForSingleObject (hMailProcessReceived, INFINITE); //и остальное bTraceMailProcess = false; packets_in1.assign (packets->begin()+9, packets->end() ); packets_out1.assign (out_packets->begin()+9, out_packets->end() ); p_SD->SendBytesToProcess (&packets_in1, &packets_out1); p_SD->VerifyCheckedObjects (control_files.get()); p_SD->VerifyConnStream (out_packets.get()); p_SD->StopSession (); DeleteSession (p_SD->_sessionCtx.pdwSessionCtx[TEST_PROTO]); //_ASSERTE(!"Halt"); }
void ezWorld::Clear() { CheckForWriteAccess(); for (auto it = GetObjects(); it.IsValid(); ++it) { DeleteObjectNow(it->GetHandle()); } }
static int ProcessEntry(void *clientp, Connection *conn) { int ccode; int envelopeLength; char qID[16]; ItipAgentClient *client = clientp; BongoSList *users; BongoCalObject *cal; char *invitation; client->conn = conn; ccode = BongoQueueAgentHandshake(client->conn, client->line, qID, &envelopeLength, NULL); if (ccode == -1) { return -1; } client->envelope = BongoQueueAgentReadEnvelope(client->conn, client->line, envelopeLength, NULL); if (client->envelope == NULL) { return -1; } if (!CheckEnvelope(client, client->envelope)) { /* No reason to check for calendar attachment */ return 0; } if (!GetObjects(client, qID, &cal, &invitation)) { /* No relevant attachments */ return 0; } ReadEnvelope(client, client->envelope, &users); ApplyObjects(client, users, cal, invitation); BongoSListFreeDeep(users); /* The client struct, connection, and QDONE will be cleaned up by * the caller */ return 0; }
void UNDO_TRANSFORM::SetObjects(DISPLAY *display) { TRANS_DATA data; if(!(display->editmode & EDIT_MESH)) { InvOrient(&display->orient_x, &display->orient_y, &display->orient_z, &display->orient_x, &display->orient_y, &display->orient_z); } data.display = display; data.root = objects; GetObjects(SetObject, &data, GETOBJECT_BRUSHES | GETOBJECT_TEXTURES); }
void Update() { super::Update(); static IAggregatePresence* pPresence = NULL; static IAggregateMotion* pMotion = NULL; static IAggregateAppearance* pAppearance = NULL; if ( !pPresence ) { CGuid Guid; // m_pAvatar = GetObjects()->Create("avatar", eObjectIdInvalid, eRoleControl, Guid); // m_pAvatar->QueryInterface(IID_IAggregatePresence, (void**)&pPresence); // m_pAvatar->QueryInterface(IID_IAggregateMotion, (void**)&pMotion); // m_pAvatar->QueryInterface(IID_IAggregateAppearance, (void**)&pAppearance); // m_pGold = GetObjects()->Create("gold", eObjectIdInvalid, eRoleControl, Guid); m_pBox = GetObjects()->Create("box", eObjectIdInvalid, eRoleControl, Guid); m_pZombie = GetObjects()->Create("zombie", eObjectIdInvalid, eRoleControl, Guid); pPresence = (IAggregatePresence*)1; /* IAggregateInventoryUser* pAggregateInventoryUser = NULL; IAggregateInventoryItem* pAggregateInventoryItem = NULL; IAggregateInventoryContainer* pAggregateInventoryContainer = NULL; if ( m_pAvatar->QueryInterface(IID_IAggregateInventoryUser, (void**)&pAggregateInventoryUser) && m_pGold->QueryInterface(IID_IAggregateInventoryItem, (void**)&pAggregateInventoryItem) && m_pBox->QueryInterface(IID_IAggregateInventoryContainer, (void**)&pAggregateInventoryContainer) ) { pAggregateInventoryItem->PlaceInContainer(pAggregateInventoryUser, pAggregateInventoryContainer); } */ } // float fSpeed = Clamp<float>(g_vCursor3d.Dist(pPresence->GetPosition()), 0, 25); // pMotion->MoveTo(g_vCursor3d, fSpeed); }
void CAppBase::Update() { GetTime()->Update(); GetInput()->Update(); GetResources()->Update(); // GetNetwork()->Update(); GetObjects()->Update(); GetUi()->Update(); GetRender()->Update(); // if ( !s_pAcre ) // { // s_pAcre = IAcre::Create("terrain/0_0.acre"); // } }
OBJPTR FMEDITAPI Create( OBJ_ID id, OBJPTR parent, RECT *rect, OBJPTR handle ) /****************************************************************************/ { /* Create an object of the desired type at the passed location. If * there is a parent, remember it */ CREATE_TABLE appobjs; if( id < FIRST_USER_OBJ_ID ) { return( InternalCreate[id]( parent, rect, handle ) ); } else { appobjs = GetObjects(); return( appobjs[id - FIRST_USER_OBJ_ID]( parent, rect, handle ) ); } }
int CGXDLMSAssociationLogicalName::GetValue(int index, unsigned char* parameters, int length, CGXDLMSVariant& value) { if (index == 1) { GXHelpers::AddRange(value.byteArr, m_LN, 6); value.vt = DLMS_DATA_TYPE_OCTET_STRING; return ERROR_CODES_OK; } if (index == 2) { vector<unsigned char> Packets; int ret = GetObjects(Packets); value = Packets; return ret; } if (index == 3) { value = GetAssociatedPartnersId(); return ERROR_CODES_OK; } if (index == 4) { value = GetApplicationContextName(); return ERROR_CODES_OK; } if (index == 5) { value = GetXDLMSContextInfo(); return ERROR_CODES_OK; } if (index == 6) { value = GetAuthenticationMechanismMame(); return ERROR_CODES_OK; } if (index == 7) { value = GetSecret(); return ERROR_CODES_OK; } if (index == 8) { value = (unsigned char)m_AssociationStatus; return ERROR_CODES_OK; } return ERROR_CODES_INVALID_PARAMETER; }
void CGroupObject::SaveLTX(CInifile& ini, LPCSTR sect_name) { CCustomObject::SaveLTX(ini, sect_name); ini.w_u32 (sect_name, "version", GROUPOBJ_CURRENT_VERSION); ObjectList grp_lst; GetObjects (grp_lst); ObjectList::iterator it; for(it=grp_lst.begin(); it!=grp_lst.end(); ++it) (*it)->m_CO_Flags.set(CCustomObject::flObjectInGroup, FALSE); Scene->SaveObjectsLTX(grp_lst, sect_name, "ingroup", ini); for(it=grp_lst.begin(); it!=grp_lst.end(); ++it) (*it)->m_CO_Flags.set(CCustomObject::flObjectInGroup, TRUE); ini.w_string (sect_name, "ref_name", m_ReferenceName_.c_str()); }
void CEmbeddedObject::RemoveHeapFrom(CBaseObject* pcFromObject, BOOL bValidate) { CBaseObject* pcContainer; //Removing a 'from' kicks off memory reclamation. This is the entry point for memory management. PrivateRemoveHeapFrom(pcFromObject); pcContainer = GetEmbeddingContainer(); pcContainer->TryKill(TRUE, TRUE); #ifdef DEBUG if (bValidate) { if (IsAllocatedInObjects()) { GetObjects()->ValidateObjectsConsistency(); } } #endif }
/************* * DESCRIPTION: do initialisations * INPUT: - * OUTPUT: - *************/ BOOL CObjSelect::OnInitDialog() { CDialog::OnInitDialog(); CenterWindow(); pListBox = ((CListBox*)GetDlgItem(IDC_OBJSEL_LIST)); GetObjects(AddSelObjFunction, NULL, 0); switch (nMode) { case BROWSER_SELECTEDSURFACE: SetWindowText("Surface selector"); break; case BROWSER_CAMERAS: SetWindowText("Camera selector"); break; } return TRUE; }
int CGXDLMSAssociationShortName::GetValue(int index, unsigned char* parameters, int length, CGXDLMSVariant& value) { if (index == 1) { GXHelpers::AddRange(value.byteArr, m_LN, 6); value.vt = DLMS_DATA_TYPE_OCTET_STRING; return ERROR_CODES_OK; } if (index == 2) { vector<unsigned char> Packets; int ret = GetObjects(Packets); value = Packets; return ret; } if (index == 3) { bool lnExists = m_ObjectList.FindBySN(GetShortName()) != NULL; //Add count int cnt = m_ObjectList.size(); if (!lnExists) { ++cnt; } vector<unsigned char> data; data.push_back(DLMS_DATA_TYPE_ARRAY); CGXOBISTemplate::SetObjectCount(cnt, data); for(vector<CGXDLMSObject*>::iterator it = m_ObjectList.begin(); it != m_ObjectList.end(); ++it) { GetAccessRights(*it, data); } if (!lnExists) { GetAccessRights(this, data); } value = data; } return ERROR_CODES_INVALID_PARAMETER; }
void CAppBase::Acquire() { if ( 1 != ++m_cRef ) return; GetGlue()->Acquire(); GetGlue()->AddGlued(this); GetResources()->Acquire(); GetVideo()->Acquire(); GetVideo()->SetWidth(800); GetVideo()->SetHeight(600); GetVideo()->ApplySettings(); GetRender()->Acquire(); GetUi()->Acquire(); GetClasses()->Acquire(); GetInput()->Acquire(); // OLD STUFF CGuid Guid; Guid.Create(); NETWORKINITSTRUCT nis; nis.Guid = Guid; // if ( !GetNetwork()->Init(nis) ) // { // return -1; // } OBJECTSINITSTRUCT ois; ois.bServer = true; if ( !GetObjects()->Init(ois) ) { return; } }
void CEmbeddedObject::AddHeapFrom(CBaseObject* pcFromObject, BOOL bValidate) { CBaseObject* pcEmbedding; if (pcFromObject != NULL) { mapHeapFroms.Add(&pcFromObject); if (pcFromObject->miDistToRoot >= ROOT_DIST_TO_ROOT) { pcEmbedding = GetEmbeddingContainer(); pcEmbedding->SetExpectedDistToRoot(pcFromObject->miDistToRoot+1); } #ifdef DEBUG if (bValidate) { if (IsAllocatedInObjects()) { GetObjects()->ValidateObjectsConsistency(); } } #endif } }
void TestManager::TestDD_Runner () { GetObjects(h_Proto, h_TaskManager, h_TrafficMonitor); tERROR error = h_TrafficMonitor->sysRegisterMsgHandler(pmc_TASK_STATE_CHANGED, rmhLISTENER, h_TrafficMonitor, IID_ANY, PID_ANY, IID_ANY, PID_ANY ); SetEvent (hProtoStateChangeExpected); h_Proto->SetState (TASK_REQUEST_RUN); WaitForSingleObject (hProtoStateChanged, INFINITE); _ASSERTE (m_ProtoState = TASK_STATE_RUNNING); //RFC //TestDD ("..\\DataManager\\test1"); // FETCH N RFC822 //TestDD ("..\\DataManager\\test2"); // FETCH N RFC822.text - не проверяется, ошибка- исправлено TestDD ("..\\DataManager\\test3"); // FETCH N RFC822.PEEK //TestDD ("..\\DataManager\\test4"); // FETCH N RFC822.HEADER TestDD ("..\\DataManager\\test5"); // FETCH N FLAGS //TestDD ("..\\DataManager\\test6"); // FETCH N:M RFC822 //TestDD ("..\\DataManager\\test7"); // FETCH N ENVELOPE RFC822 //TestDD ("..\\DataManager\\test8"); // FETCH N RFC822 ENVELOPE TestDD ("..\\DataManager\\test9"); // FETCH N INTERNALDATE RFC822 ENVELOPE //TestDD ("..\\DataManager\\test10"); // FETCH N INTERNALDATE RFC822 - исправлено //TestDD ("..\\DataManager\\test11"); // FETCH N FLAGS RFC822 //TestDD ("..\\DataManager\\test12"); // FETCH N BODYSTRUCTURE RFC822 //TestDD ("..\\DataManager\\test13"); // FETCH N BODY RFC822 //TestDD ("..\\DataManager\\test14"); // FETCH N RFC822.SIZE RFC822 //TestDD ("..\\DataManager\\test15"); // FETCH N RFC822.HEADER RFC822 //TestDD ("..\\DataManager\\test16"); // FETCH N UID RFC822 TestDD ("..\\DataManager\\test17"); // FETCH N:M (ENVELOPE RFC822) //BODY //TestDD ("..\\DataManager\\test30"); // FETCH N BODY[] //TestDD ("..\\DataManager\\test31"); // FETCH N BODY[M] //TestDD ("..\\DataManager\\test32"); // FETCH N (BODY[M] BODY[K]) //TestDD ("..\\DataManager\\test33"); // FETCH N (ENVELOPE BODY[M]) //TestDD ("..\\DataManager\\test34"); // FETCH N INTERNALDATE RFC822 - не проверяется, это все internaldate - исправлено //TestDD ("..\\DataManager\\test35"); // FETCH N (BODY[M] ENVELOPE BODY[K]) //TestDD ("..\\DataManager\\test36"); // FETCH N BODY.PEEK[M] //TestDD ("..\\DataManager\\test37"); // FETCH N BODY[TEXT] - не проверяется - исправлено //TestDD ("..\\DataManager\\test38"); // FETCH N BODY[M].text - не проверяется - исправлено //PARTIAL //TestDD ("..\\DataManager\\test40"); // FETCH N BODY[M]<<partial>> - не проверяется - исправлено //TestDD ("..\\DataManager\\test41"); // FETCH N BODY[]<<partial>> - не проверяется - исправлено //UID //TestDD ("..\\DataManager\\test50"); // UID FETCH N RFC822 //Pipelining //TestDD ("..\\DataManager\\test60"); // pipelining //Errors in dialogue //TestDD ("..\\DataManager\\test62"); //Protocol Detection (commands sequence) //TestDD ("..\\DataManager\\test70"); //TestDD ("..\\DataManager\\test71"); //TestDD ("..\\DataManager\\test72"); //TestDD ("..\\DataManager\\test73"); //TestDD ("..\\DataManager\\test74"); //TestDD ("..\\DataManager\\test75"); //finishing actions SetEvent (hProtoStateChangeExpected); h_Proto->SetState (TASK_REQUEST_STOP); WaitForSingleObject (hProtoStateChanged, INFINITE); _ASSERTE (m_ProtoState = TASK_STATE_STOPPED); }
void Tracker::Update(TrackerEvent event) { auto announce = HTTP::ParseURL(m_AnnounceURL); LOG_F("Querying \"%\"", announce.authority); announce.arguments["info_hash"] = url_encode((unsigned char*)m_InfoHash.c_str()); announce.arguments["peer_id"] = m_PeerID; announce.arguments["port"] = "6881"; switch (event) { case TrackerEvent::Started: announce.arguments["event"] = "started"; break; case TrackerEvent::Stopped: announce.arguments["event"] = "stopped"; break; case TrackerEvent::Completed: announce.arguments["event"] = "completed"; break; } auto response = HTTP::DoHTTPRequest(announce); if (response.statusCode != 200) { LOG_F("Tracker request failed (HTTP error): %", response.statusCode); return; } auto parsed = std::make_unique<Bencode::Dictionary>(Bencode::Tokenizer::Tokenize(response.content)); if (parsed->GetKey("failure reason") != nullptr) { auto reason = parsed->GetKey<Bencode::ByteString>("failure reason"); auto bytes = reason->GetBytes(); std::string reasonString(bytes.begin(), bytes.end()); LOG_F("Tracker request failed (tracker error): %", reasonString); return; } auto peersCount = 0u; auto peersList = (Bencode::List*)(parsed->GetKey("peers").get()); for (auto& peerObject : peersList->GetObjects()) { auto peerDict = (Bencode::Dictionary*)peerObject.get(); auto ipBytes = ((Bencode::ByteString*)peerDict->GetKey("ip").get())->GetBytes(); auto port = ((Bencode::Integer*)peerDict->GetKey("port").get())->GetValue(); auto idBytes = ((Bencode::ByteString*)peerDict->GetKey("peer id").get())->GetBytes(); std::string ip(ipBytes.data(), ipBytes.size()); std::ostringstream oss; oss << std::setfill('0'); std::for_each(ipBytes.begin(), ipBytes.end(), bin2hex_str(oss)); auto id = oss.str(); if (m_Known.find(ip) == m_Known.end()) { peersCount++; m_Peers.push_back(std::make_unique<Peer>(ip, (int)port, id, m_Client->GetPiecesCount(), m_Client->GetPieceLength(), m_InfoHash, m_PeerID)); m_Known.insert(ip); } } LOG_F("Request successful, got % peers", peersCount); }
void CBaseObject::ValidateAllocation(void) { BOOL bDistToStackZero; BOOL bAllocateCalled; BOOL bInObjects; BOOL bAllSame; CChars sz; bDistToStackZero = GetDistToStack() == 0; bAllocateCalled = miFlags & OBJECT_FLAGS_CALLED_ALLOCATE; bAllocateCalled = FixBool(bAllocateCalled); bInObjects = IsAllocatedInObjects(); bAllSame = !bDistToStackZero == bAllocateCalled == bInObjects; if (!bAllSame) { sz.Init(); PrintObject(&sz, IsEmbedded()); gcLogger.Error2(__METHOD__, " Object {", sz.Text(), "} should not have a dist to stack of [", IntToString(GetDistToStack()), "] and flag OBJECT_FLAGS_CALLED_ALLOCATE [", IntToString(bAllocateCalled), "] and be allocated in Objects [0x", PointerToString(GetObjects()), "].", NULL); sz.Kill(); } }
void FormLayout::Clear() { XMLConfig::Clear(); GetObjects().Clear(); }