/MapView/Map/RMDatabaseCache.h

http://github.com/route-me/route-me · C Header · 53 lines · 19 code · 8 blank · 26 comment · 0 complexity · 01ece4196b6a57f607fcce563cf298d6 MD5 · raw file

  1. //
  2. // RMDatabaseCache.h
  3. //
  4. // Copyright (c) 2008-2009, Route-Me Contributors
  5. // All rights reserved.
  6. //
  7. // Redistribution and use in source and binary forms, with or without
  8. // modification, are permitted provided that the following conditions are met:
  9. //
  10. // * Redistributions of source code must retain the above copyright notice, this
  11. // list of conditions and the following disclaimer.
  12. // * Redistributions in binary form must reproduce the above copyright notice,
  13. // this list of conditions and the following disclaimer in the documentation
  14. // and/or other materials provided with the distribution.
  15. //
  16. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  17. // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  19. // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  20. // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  21. // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  22. // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  23. // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  24. // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  25. // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  26. // POSSIBILITY OF SUCH DAMAGE.
  27. #import <UIKit/UIKit.h>
  28. #import "RMTileCache.h"
  29. @class RMTileCacheDAO;
  30. @interface RMDatabaseCache : NSObject<RMTileCache> {
  31. NSString* databasePath;
  32. RMTileCacheDAO *dao;
  33. RMCachePurgeStrategy purgeStrategy;
  34. NSUInteger capacity;
  35. NSUInteger minimalPurge;
  36. }
  37. @property (retain) NSString* databasePath;
  38. + (NSString*)dbPathForTileSource: (id<RMTileSource>) source usingCacheDir: (BOOL) useCacheDir;
  39. -(id) initWithDatabase: (NSString*)path;
  40. -(id) initWithTileSource: (id<RMTileSource>) source usingCacheDir: (BOOL) useCacheDir;
  41. -(void) setPurgeStrategy: (RMCachePurgeStrategy) theStrategy;
  42. -(void) setCapacity: (NSUInteger) theCapacity;
  43. -(void) setMinimalPurge: (NSUInteger) thePurgeMinimum;
  44. -(void) purgeTilesFromBefore: (NSDate*) date;
  45. @end