コード例 #1
0
ファイル: vmsfilerecentlist.cpp プロジェクト: pedia/raidget
BOOL vmsFileRecentList::Load(HANDLE hFile)
{
	Clear (true);

	m_nMaxEntries = _App.RecentDownloadsHistorySize ();

	size_t c = 0;
	DWORD dw;

	if (FALSE == ReadFile (hFile, &c, sizeof (c), &dw, NULL))
		return FALSE;

	for (size_t i = 0; i < c; i++)
	{
		LPSTR pszDisp, pszPath;

		if (FALSE == fsReadStrFromFile (&pszDisp, hFile))
			return FALSE;

		if (FALSE == fsReadStrFromFile (&pszPath, hFile))
			return FALSE;

		Add (pszDisp, pszPath, true);

		delete [] pszDisp;
		delete [] pszPath;
	}

	return TRUE;
}
コード例 #2
0
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)
	{
		fsDescEvent ev;

		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 (ev);
	}
	
	return TRUE;
}
コード例 #3
0
ファイル: vmsstringlist.cpp プロジェクト: pedia/raidget
BOOL vmsStringList::Load(HANDLE hFile)
{
    Clear ();

    int c = 0;
    DWORD dw;

    if (FALSE == ReadFile (hFile, &c, sizeof (c), &dw, NULL))
        return FALSE;

    for (int i = 0; i < c; i++)
    {
        LPSTR psz;

        if (FALSE == fsReadStrFromFile (&psz, hFile))
            return FALSE;

        Add (psz);

        delete [] psz;
    }

    return TRUE;
}
コード例 #4
0
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;
}
コード例 #5
0
ファイル: fssitesmgr.cpp プロジェクト: pedia/raidget
BOOL fsSitesMgr::LoadFromFile(HANDLE hFile)
{
    int cSites;

    DWORD dw;
    BOOL bOldVer = FALSE;

    m_vSites.clear ();

    fsSitesFileHdr hdr;
    if (!ReadFile (hFile, &hdr, sizeof (hdr), &dw, NULL))
        bOldVer = TRUE;
    else
    {
        if (strcmp (hdr.szSig, SITESFILE_SIG))
        {
            bOldVer = TRUE;
            SetFilePointer (hFile, 0, NULL, FILE_BEGIN);
        }
        else if (hdr.wVer > SITESFILE_CURRENT_VERSION)
            return FALSE;
    }

    if (!ReadFile (hFile, &cSites, sizeof (cSites), &dw, NULL) || dw != sizeof (cSites))
        return FALSE;

    for (int i = 0; i < cSites; i++)
    {
        fsSiteInfoPtr site;
        site.CreateInstance ();

        if (bOldVer)
        {
            fsSiteInfo_v1 sitev1;
            if (!ReadFile (hFile, &sitev1, sizeof (fsSiteInfo_v1), &dw, NULL) || dw != sizeof (fsSiteInfo_v1))
                return FALSE;

            site->dwFtpFlags = sitev1.bFtpPassive;
            site->bTemp = sitev1.bTemp;
            site->cConnsNow = sitev1.cConnsNow;
            site->cMaxConns = sitev1.cMaxConns;
            site->dwValidFor = SITE_VALIDFOR_HTTP|SITE_VALIDFOR_HTTPS|SITE_VALIDFOR_FTP|SITE_VALIDFOR_SUBDOMAINS;
        }
        else
        {
            if (hdr.wVer < 3)
            {
                fsSiteInfo_v2 sitev2;

                if (!ReadFile (hFile, &sitev2, sizeof (sitev2), &dw, NULL) || dw != sizeof (sitev2))
                    return FALSE;

                if (!fsReadStrFromFile (&sitev2.strGroup.pszString, hFile))
                    return FALSE;

                site->dwFtpFlags = sitev2.dwFtpFlags;
                site->bTemp = sitev2.bTemp;
                site->cConnsNow = sitev2.cConnsNow;
                site->cMaxConns = sitev2.cMaxConns;
                site->dwValidFor = sitev2.dwValidFor;
            }
        }

        if (!fsReadStrFromFile (&site->strName.pszString, hFile))
            return FALSE;

        if (!fsReadStrFromFile (&site->strPassword.pszString, hFile))
            return FALSE;

        if (!fsReadStrFromFile (&site->strUser.pszString, hFile))
            return FALSE;

        if (hdr.wVer >= 3)
        {
            UINT nId;
            if (!ReadFile (hFile, &nId, sizeof (nId), &dw, NULL))
                return FALSE;
            site->pGroup = nId != (UINT)-1 ? _DldsGrps.FindGroup (nId) : NULL;

            if (!ReadFile (hFile, &site->dwFtpFlags, sizeof (site->dwFtpFlags), &dw, NULL))
                return FALSE;

            if (!ReadFile (hFile, &site->cConnsNow, sizeof (site->cConnsNow), &dw, NULL))
                return FALSE;

            if (!ReadFile (hFile, &site->cMaxConns, sizeof (site->cMaxConns), &dw, NULL))
                return FALSE;

            if (!ReadFile (hFile, &site->dwValidFor, sizeof (site->dwValidFor), &dw, NULL))
                return FALSE;
        }

        site->cConnsNow = 0;
        site->bTemp = FALSE;

        AddSite (site);
    }

    return TRUE;
}
コード例 #6
0
ファイル: misc.cpp プロジェクト: ratever930/freedownload
BOOL fsReadStringFromFile (HANDLE hFile, fsString &str)
{
	delete str.pszString;
	str.pszString = NULL;
	return fsReadStrFromFile (&str.pszString, hFile);
}