-
Notifications
You must be signed in to change notification settings - Fork 20
/
GPKGGeoPackageCache.h
174 lines (151 loc) · 3.37 KB
/
GPKGGeoPackageCache.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
//
// GPKGGeoPackageCache.h
// geopackage-ios
//
// Created by Brian Osborn on 11/3/15.
// Copyright © 2015 NGA. All rights reserved.
//
#import "GPKGGeoPackageManager.h"
/**
* GeoPackage Cache to maintain opened GeoPackages
*/
@interface GPKGGeoPackageCache : NSObject
/**
* Close quietly flag
*/
@property (nonatomic) BOOL closeQuietly;
/**
* Initialize
*
* @param manager geoPackage manager
*
* @return new cache
*/
-(instancetype) initWithManager: (GPKGGeoPackageManager *) manager;
/**
* Get the cached GeoPackage or open and cache the GeoPackage
*
* @param name GeoPackage name
*
* @return open GeoPackage
*/
-(GPKGGeoPackage *) geoPackageOpenName: (NSString *) name;
/**
* Get the cached GeoPackage or open the GeoPackage without caching it
*
* @param name GeoPackage name
*
* @return open GeoPackage
*/
-(GPKGGeoPackage *) geoPackageNoCacheOpenName: (NSString *) name;
/**
* Get the names of the cached GeoPackages
*
* @return cached GeoPackage names
*/
-(NSArray<NSString*> *) names;
/**
* Get the cached GeoPackages
*
* @return cached GeoPackages
*/
-(NSArray<GPKGGeoPackage*> *) geoPackages;
/**
* Determine if the cache has the GeoPackage name
*
* @param name GeoPackage name
*
* @return true if has cached GeoPackage
*/
-(BOOL) hasName: (NSString *) name;
/**
* Get the GeoPackage with name
*
* @param name GeoPackage name
*
* @return cached GeoPackage
*/
-(GPKGGeoPackage *) geoPackageWithName: (NSString *) name;
/**
* Checks if the GeoPackage name exists in the cache
*
* @param name GeoPackage name
*
* @return true if exists
*/
-(BOOL) existsWithName: (NSString *) name;
/**
* Close all GeoPackages in the cache
*/
-(void) closeAll;
/**
* Add a GeoPackage to the cache
*
* @param geoPackage GeoPackage
*/
-(void) addGeoPackage: (GPKGGeoPackage *) geoPackage;
/**
* Add the collection of GeoPackages
*
* @param geoPackages GeoPackages
*/
-(void) addAllGeoPackages: (NSArray<GPKGGeoPackage *> *) geoPackages;
/**
* Remove the GeoPackage with the name but does not close it,
* callse close to close and remove
*
* @param name GeoPackage name
*
* @return removed GeoPackage
*/
-(GPKGGeoPackage *) removeByName: (NSString *) name;
/**
* Clears all cached GeoPackages but does not close them,
* call closeAll to close and clear all GeoPackages
*/
-(void) clear;
/**
* Close the GeoPackage with name
*
* @param name GeoPackage name
*
* @return true if found and closed
*/
-(BOOL) closeByName: (NSString *) name;
/**
* Close GeoPackages not specified in the retain GeoPackage names
*
* @param retain array of names to retain
*/
-(void) closeRetain: (NSArray *) retain;
/**
* Close GeoPackages with names
*
* @param names GeoPackage names to close
*/
-(void) closeNames: (NSArray *) names;
/**
* Close the GeoPackage
*
* @param geoPackage
* GeoPackage
*/
-(void) closeGeoPackage: (GPKGGeoPackage *) geoPackage;
/**
* Close the GeoPackage if it is cached (same GeoPackage instance)
*
* @param geoPackage
* GeoPackage
* @return true if closed
*/
-(BOOL) closeGeoPackageIfCached: (GPKGGeoPackage *) geoPackage;
/**
* Close the GeoPackage if it is not cached (GeoPackage not cached or
* different instance)
*
* @param geoPackage
* GeoPackage
* @return true if closed
*/
-(BOOL) closeGeoPackageIfNotCached: (GPKGGeoPackage *) geoPackage;
@end