SOL9 Sample: UrlCacheEntryCreator

SOL9 2.0 Samples

1 Screenshot


2 Source code

/*
 * UrlCacheEntryCreator.cpp 
 * Copyright (c) 2015 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: 2 May 2016

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