SOL9 Sample: UrlCacheEntryCreator

SOL9 2.0 Samples

1 Screenshot


2 Source code

/*
 * UrlCacheEntryCreator.cpp 
 * Copyright (c) 2012 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */



// SOL9
// 2012/01/08

#include <sol/Locale.h>
#include <sol/FileTime.h>
#include <sol/wininet/UrlCacheEntry.h>

void _tmain(int argc, const TCHAR* argv[])
{
    if (argc !=2) {
        _tprintf(_T("Usage: %s UrlForTemporaryInternetFile\n"), argv[0]);
        _tprintf(_T("Ex: %s Visited:someone@http://www.antillia.com/favicon.ico\n"), argv[0]);
        _tprintf(_T("Ex: %s Cookie:someone@antillia.com/\n"), argv[0]);
        _tprintf(_T("Ex: %s http://www.antillia.com/index.html\n"), argv[0]);

        return;
    }

    Locale locale;

    try {
        const TCHAR* url = argv[1]; 

        DWORD cacheEntryType = 0;
        if (strstr(url, _T("Cookie:")) ) {
            cacheEntryType = COOKIE_CACHE_ENTRY;
        } if (strstr(url, _T("Visited:")) ){
            cacheEntryType = URLHISTORY_CACHE_ENTRY;
        }else {
            cacheEntryType = NORMAL_CACHE_ENTRY;
        }

        UrlCacheEntry cacheEntry;
        
        _bstr_t localFileName; //
        //Create a cachEntry of url
        if (cacheEntry.create(url, 1024, NULL, localFileName)) {
            _tprintf(_T("Created a cache: sourceUrl=%s, localFileName=%s\n"),
                url, (const TCHAR*)localFileName);

            FileTime expireTime(2016, 1, 1, 12, 31, 0);
            FileTime lastModifiedTime(2012, 1, 1, 1, 0, 0);

            if (cacheEntry.commit(localFileName, 
                (FILETIME)expireTime,
                (FILETIME)lastModifiedTime,
                cacheEntryType)) {

                _tprintf(_T("Commited a cache: %s\n"), url);
                
                UrlCacheEntry entry = url;
                Writer writer;
                entry.write(writer);

            } else{
                _tprintf(_T("Failed to commit a cache: %s\n"), url);
            }
        } else {
                _tprintf(_T("Failed to create a cache: %s\n"), url);
        }
        
        //Remove the created cacheEntry
        if (cacheEntry.remove(url) ){
            _tprintf(_T("Removed a cache: %s\n"), url);
        }
        
    } catch (Exception& ex) {
        ex.printf();
    } catch (...) {
        printf("Exception\n");
    }
}

Last modified: 1 Feb 2012

Copyright (c) 2012 Antillia.com ALL RIGHTS RESERVED.