bool vmsMediaConvertMgr::loadObjectItselfFromStateBuffer(LPBYTE pbtBuffer, LPDWORD pdwSize, DWORD dwVer) { if (pbtBuffer == NULL || pdwSize == NULL) return false; if (*pdwSize < sizeof(size_t)) return false; m_vTasks.clear (); size_t* pszBuffer = (size_t*)pbtBuffer; size_t szTaskCount = *pszBuffer; size_t szIndex = 0; for (szIndex = 0; szIndex < szTaskCount; szIndex++) { vmsMediaConvertMgr::vmsConvertMediaFileContextSmartPtr pCtxPtr; pCtxPtr.CreateInstance(); m_vTasks.push_back(pCtxPtr); vmsMediaConvertMgr::vmsConvertMediaFileContext* ctx = (vmsMediaConvertMgr::vmsConvertMediaFileContext*)m_vTasks.back(); if (ctx == 0) return false; ctx->pvData = &m_vTasks; ctx->clehEventHandler = FdmCtfxLoadEventhandler; getPersistObjectChildren ()->addPersistObject ((vmsPersistObject*)(vmsMediaConvertMgr::vmsConvertMediaFileContext*)m_vTasks.back()); } *pdwSize = sizeof(size_t); return true; }
bool vmsDownloadsGroupsMgr::loadObjectItselfFromStateBuffer(LPBYTE pbtBuffer, LPDWORD pdwSize, DWORD dwVer) { LPBYTE pbtCurrentPos = pbtBuffer; if (!getVarFromBuffer(m_nGrpNextId, pbtCurrentPos, pbtBuffer, *pdwSize)) return false; int nChildren = 0; getVarFromBuffer(nChildren, pbtCurrentPos, pbtBuffer, *pdwSize); int i = 0; for (i = 0; i < nChildren; i++) { vmsDownloadsGroupSmartPtr pGroup; pGroup.CreateInstance (); pGroup->nChildren = 0; pGroup->glehEventHandler = FdmGroupLoadEventHandler; TGroupLoadEventData gledData; gledData.pdgmGroupsMgr = this; gledData.pgtParent = m_tGroups; gledData.pGroupPtr = pGroup; pGroup->pvData = (void*)&AddGroupLoadEventData(gledData); getPersistObjectChildren ()->addPersistObject ((vmsDownloadsGroup*)pGroup); } *pdwSize = pbtCurrentPos - pbtBuffer; return true; }
void vmsDownloadsGroupsMgr::DeleteGroup(vmsDownloadsGroupSmartPtr pGroup) { PDLDS_GROUPS_TREE pGrp = FindGroupInTree (pGroup); PDLDS_GROUPS_TREE pRoot = pGrp->GetRoot (); for (int i = 0; i < pRoot->GetLeafCount (); i++) { if (pRoot->GetLeaf (i) == pGrp) { pRoot->DeleteLeaf (i); RebuildGroupsList (); if (pRoot == m_tGroups) { setDirty(); getPersistObjectChildren ()->removePersistObject (i); } else { vmsDownloadsGroupSmartPtr pRootGroupPtr = pRoot->GetData(); if ((vmsDownloadsGroup*)pRootGroupPtr != 0) { pRootGroupPtr->nChildren--; pRootGroupPtr->getPersistObjectChildren ()->removePersistObject (i); pRootGroupPtr->setDirty(); } } return; } } }
void fsWebPageDownloadsMgr::Add(fsWebPageDownloader *wpd) { wpd->SetEventFunc (_DownloaderEvents, this); m_vWPDs.add (wpd); setDirty(); wpd->setDirty(); wpd->GetWDPS()->m_ppoOwner = (vmsPersistObject*)wpd; getPersistObjectChildren ()->addPersistObject ((vmsPersistObject*)wpd); }
void fsEventsMgr::clear() { for (int i = m_vEvents.size () - 1; i >= 0; i--) delete [] m_vEvents [i]->deEvent.pszEvent; setDirty(); getPersistObjectChildren ()->removeAllPersistObjects (); m_vEvents.clear (); }
void fsWebPageDownloadsMgr::Delete(fsWebPageDownloader *wpd) { for (int i = 0; i < m_vWPDs.size (); i++) { if (m_vWPDs [i] == wpd) { m_vWPDs.del (i); setDirty(); getPersistObjectChildren ()->removePersistObject (i); return; } } }
void vmsDownloadMgrEx::DetachDownloadMgr () { vmsPersistObject *pObj = NULL; if (m_pMgr) pObj = m_pMgr; else if (m_spBtMgr) pObj = m_spBtMgr; else if (m_pTpMgr) pObj = m_pTpMgr; getPersistObjectChildren ()->removePersistObject (pObj); SAFE_DELETE (m_pMgr); m_spBtMgr = NULL; SAFE_DELETE (m_pTpMgr); }
void vmsMediaConvertMgr::AddTask(vmsDownloadSmartPtr dld, const vmsMediaFileConvertSettings &stgs) { vmsConvertMediaFileContextSmartPtr pCtxPtr; pCtxPtr.CreateInstance(); pCtxPtr->dld = dld; pCtxPtr->stgs = stgs; m_vTasks.push_back (pCtxPtr); setDirty(); m_vTasks.back()->setDirty(); getPersistObjectChildren ()->addPersistObject ((vmsConvertMediaFileContext*)m_vTasks.back()); }
void fsEventsMgr::add(fsDescEvent *ev) { vmsPersistableDescEventWrapperSmartPtr pEventPtr; pEventPtr.CreateInstance(); fsDescEvent* pdeEvent = &pEventPtr->deEvent; SYSTEMTIME time; GetLocalTime (&time); SystemTimeToFileTime (&time, &ev->timeEvent); *pdeEvent = *ev; m_vEvents.add (pEventPtr); getPersistObjectChildren ()->addPersistObject ((vmsPersistableDescEventWrapper*)pEventPtr); }
void vmsMediaConvertMgr::ConvertMediaFile(vmsDownloadSmartPtr dld, vmsMediaConvertMgr_OptionsSource enOs) { vmsConvertMediaFileContext *pcmfc = new vmsConvertMediaFileContext; if (enOs == MCM_OS_SEARCH_IN_MGR) { int nIndex = FindDownload (dld); if (nIndex == -1) return; vmsConvertMediaFileContext* ctx = (vmsConvertMediaFileContext*)m_vTasks [nIndex]; if (ctx == 0) return; pcmfc->dld = ctx->dld; pcmfc->stgs = ctx->stgs; m_vTasks.erase (m_vTasks.begin () + nIndex); setDirty(); getPersistObjectChildren ()->removePersistObject (nIndex); } else { pcmfc->dld = dld; GetDefaultSettings (pcmfc->stgs); if (enOs == MCM_OS_SHOW_OPTIONS_UI) { CDlg_Convert dlg (&pcmfc->stgs); if (IDOK != _DlgMgr.DoModal (&dlg)) { delete pcmfc; return; } } } CWaitDlg *dlg = new CWaitDlg; dlg->StartWaiting (LS (L_CONVERTING), _threadConvertMediaFile, TRUE, pcmfc, (LPVOID)(enOs == MCM_OS_SHOW_OPTIONS_UI), NULL, NULL, NULL, NULL, FALSE); }
bool fsEventsMgr::loadObjectItselfFromStateBuffer(LPBYTE pbtBuffer, LPDWORD pdwSize, DWORD dwVer) { LPBYTE pbtCurrentPos = pbtBuffer; int cRecs = 0; m_vEvents.clear (); if (!getVarFromBuffer(cRecs, pbtCurrentPos, pbtBuffer, *pdwSize)) return false; int i = 0; for (i = 0; i < cRecs; i++) { vmsPersistableDescEventWrapperSmartPtr pEventPtr; pEventPtr.CreateInstance(); m_vEvents.add (pEventPtr); getPersistObjectChildren ()->addPersistObject ((vmsPersistableDescEventWrapper*)pEventPtr); } *pdwSize = pbtCurrentPos - pbtBuffer; return true; }
PDLDS_GROUPS_TREE vmsDownloadsGroupsMgr::Add(vmsDownloadsGroupSmartPtr grp, PDLDS_GROUPS_TREE pParentGroup, BOOL bKeepIdAsIs, bool bDontQueryStoringGroupsInformation) { if (pParentGroup == NULL) pParentGroup = GetGroupsTree (); if (bKeepIdAsIs == FALSE) grp->nId = m_nGrpNextId++; else m_nGrpNextId = max (m_nGrpNextId, grp->nId + 1); grp->cDownloads = 0; grp->bAboutToBeDeleted = false; PDLDS_GROUPS_TREE pGrp = pParentGroup->AddLeaf (grp); m_vGroups.push_back (pGrp); if (!bDontQueryStoringGroupsInformation) { vmsDownloadsGroupSmartPtr pParentPtr = pParentGroup->GetData(); if ((vmsDownloadsGroup*)pParentPtr != 0) { pParentPtr->setDirty(); pParentPtr->nChildren++; pParentPtr->getPersistObjectChildren ()->addPersistObject ((vmsDownloadsGroup*)grp); } else { getPersistObjectChildren ()->addPersistObject ((vmsDownloadsGroup*)grp); setDirty(); } grp->setDirty(); grp->nChildren = 0; } return pGrp; }
BOOL fsEventsMgr::Load(HANDLE hFile) { int cRecs; DWORD dw; m_vEvents.clear (); if (!ReadFile (hFile, &cRecs, sizeof (cRecs), &dw, NULL) || dw != sizeof (cRecs)) return FALSE; while (cRecs-- > 0) { vmsPersistableDescEventWrapperSmartPtr pEventPtr; pEventPtr.CreateInstance(); fsDescEvent& ev = pEventPtr->deEvent; if (!ReadFile (hFile, &ev, sizeof (fsDescEvent), &dw, NULL) || dw != sizeof (fsDescEvent)) { m_vEvents.clear (); return FALSE; } if (!fsReadStrFromFile (&ev.pszEvent, hFile)) { m_vEvents.clear (); return FALSE; } m_vEvents.add (pEventPtr); getPersistObjectChildren ()->addPersistObject ((vmsPersistableDescEventWrapper*)pEventPtr); } return TRUE; }
BOOL fsWebPageDownloadsMgr::Load() { m_vWPDs.clear (); HANDLE hFile = CreateFile (fsGetDataFilePath (_T("spider.sav")), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_HIDDEN, NULL); if (hFile == INVALID_HANDLE_VALUE) return FALSE; if (GetLastError () != ERROR_ALREADY_EXISTS) { CloseHandle (hFile); return TRUE; } int cWPD = 0; DWORD dw; fsSpiderFileHdr hdr; WORD wVer = SPIDERFILE_CURRENT_VERSION; DWORD dwRequiredSize = ::GetFileSize(hFile, NULL); if (FALSE == ReadFile (hFile, &hdr, sizeof (hdr), &dw, NULL)) { wVer = 1; } else { if (dw < sizeof(hdr) || strcmp (hdr.szSig, SPIDERFILE_SIG)) { wVer = 1; SetFilePointer (hFile, 0, NULL, FILE_BEGIN); } else { wVer = hdr.wVer; dwRequiredSize -= sizeof (hdr); } } if (wVer == 1) { if (FALSE == ReadFile (hFile, &cWPD, sizeof (cWPD), &dw, NULL)) { CloseHandle (hFile); return FALSE; } for (int i = 0; i < cWPD; i++) { fsWebPageDownloaderPtr wpd; wpd.CreateInstance (); if (FALSE == wpd->Load (hFile, wVer)) { CloseHandle (hFile); return FALSE; } Add (wpd); } resetDirty(); CloseHandle (hFile); return TRUE; } if (dwRequiredSize == 0) { CloseHandle (hFile); return TRUE; } std::auto_ptr<BYTE> pbtBufferGuard( new BYTE[dwRequiredSize] ); LPBYTE pbtBuffer = pbtBufferGuard.get(); if (pbtBuffer == 0) { CloseHandle (hFile); return FALSE; } memset(pbtBuffer, 0, dwRequiredSize); if (!ReadFile (hFile, pbtBuffer, dwRequiredSize, &dw, NULL) || dw != dwRequiredSize) { CloseHandle (hFile); return FALSE; } if (!loadFromStateBuffer(pbtBuffer, &dwRequiredSize, hdr.wVer)) { getPersistObjectChildren ()->removeAllPersistObjects (); m_vWPDs.clear (); CloseHandle (hFile); return FALSE; } resetDirty(); CloseHandle (hFile); return TRUE; }
void vmsDownloadMgrEx::Attach(vmsBtDownloadManager *pBtMgr) { DetachDownloadMgr (); m_spBtMgr = pBtMgr; getPersistObjectChildren ()->addPersistObject (m_spBtMgr); }
CStateInfo::CStateInfo() : m_nId(0) { getPersistObjectChildren ()->addPersistObject (&m_frlFileRecentList); }
void vmsDownloadMgrEx::Attach(vmsTpDownloadMgr *pTpMgr) { DetachDownloadMgr (); m_pTpMgr = pTpMgr; getPersistObjectChildren ()->addPersistObject (m_pTpMgr); }