Loading...
Searching...
No Matches
NavigineSdk.java
Go to the documentation of this file.
1package com.navigine.idl.java;
2
3import java.util.concurrent.atomic.AtomicBoolean;
4
22public abstract class NavigineSdk {
29 public abstract void setUserHash(String userHash);
30
37 public abstract void setServer(String server);
38
46
54 public abstract NavigationManager getNavigationManager(LocationManager locationManager);
55
63 public abstract ZoneManager getZoneManager(NavigationManager navigationManager);
64
73 public abstract RouteManager getRouteManager(LocationManager locationManager, NavigationManager navigationManager);
74
83 public abstract AsyncRouteManager getAsyncRouteManager(LocationManager locationManager, NavigationManager navigationManager);
84
93
104 public abstract ResourceManager getResourceManager(LocationManager locationManager);
105
106 public abstract LocationEditManager getLocationEditManager(LocationManager locationManager);
107
108 public abstract MeasurementManager getMeasurementManager(LocationManager locationManager);
109
110 public abstract BeaconProximityEstimator getBeaconProximityEstimator(LocationManager locationManager);
111
112 public abstract String getErrorDescription(int errorCode);
113
114 public abstract LocationWindow createLocationWindow(com.navigine.view.PlatformView platformView);
115
124
131 public static NavigineSdk getInstance()
132 {
133 return CppProxy.getInstance();
134 }
135
142 public static String getVersion()
143 {
144 return CppProxy.getVersion();
145 }
146
153 public static String getDeviceId()
154 {
155 return CppProxy.getDeviceId();
156 }
157
164 public static long getRelativeTime()
165 {
166 return CppProxy.getRelativeTime();
167 }
168
169 private static final class CppProxy extends NavigineSdk
170 {
171 private final long nativeRef;
172 private final AtomicBoolean destroyed = new AtomicBoolean(false);
173
174 private CppProxy(long nativeRef)
175 {
176 if (nativeRef == 0) throw new RuntimeException("nativeRef is zero");
177 this.nativeRef = nativeRef;
178 }
179
180 private native void nativeDestroy(long nativeRef);
181 public void _djinni_private_destroy()
182 {
183 boolean destroyed = this.destroyed.getAndSet(true);
184 if (!destroyed) nativeDestroy(this.nativeRef);
185 }
186 protected void finalize() throws java.lang.Throwable
187 {
188 _djinni_private_destroy();
189 super.finalize();
190 }
191
192 // NavigineSdk methods
193
194 @Override
195 public void setUserHash(String userHash)
196 {
197 assert !this.destroyed.get() : "trying to use a destroyed object";
198 native_setUserHash(this.nativeRef, userHash);
199 }
200 private native void native_setUserHash(long _nativeRef, String userHash);
201
202 @Override
203 public void setServer(String server)
204 {
205 assert !this.destroyed.get() : "trying to use a destroyed object";
206 native_setServer(this.nativeRef, server);
207 }
208 private native void native_setServer(long _nativeRef, String server);
209
210 @Override
211 public LocationManager getLocationManager()
212 {
213 assert !this.destroyed.get() : "trying to use a destroyed object";
214 return native_getLocationManager(this.nativeRef);
215 }
216 private native LocationManager native_getLocationManager(long _nativeRef);
217
218 @Override
219 public NavigationManager getNavigationManager(LocationManager locationManager)
220 {
221 assert !this.destroyed.get() : "trying to use a destroyed object";
222 return native_getNavigationManager(this.nativeRef, locationManager);
223 }
224 private native NavigationManager native_getNavigationManager(long _nativeRef, LocationManager locationManager);
225
226 @Override
227 public ZoneManager getZoneManager(NavigationManager navigationManager)
228 {
229 assert !this.destroyed.get() : "trying to use a destroyed object";
230 return native_getZoneManager(this.nativeRef, navigationManager);
231 }
232 private native ZoneManager native_getZoneManager(long _nativeRef, NavigationManager navigationManager);
233
234 @Override
235 public RouteManager getRouteManager(LocationManager locationManager, NavigationManager navigationManager)
236 {
237 assert !this.destroyed.get() : "trying to use a destroyed object";
238 return native_getRouteManager(this.nativeRef, locationManager, navigationManager);
239 }
240 private native RouteManager native_getRouteManager(long _nativeRef, LocationManager locationManager, NavigationManager navigationManager);
241
242 @Override
243 public AsyncRouteManager getAsyncRouteManager(LocationManager locationManager, NavigationManager navigationManager)
244 {
245 assert !this.destroyed.get() : "trying to use a destroyed object";
246 return native_getAsyncRouteManager(this.nativeRef, locationManager, navigationManager);
247 }
248 private native AsyncRouteManager native_getAsyncRouteManager(long _nativeRef, LocationManager locationManager, NavigationManager navigationManager);
249
250 @Override
251 public NotificationManager getNotificationManager(LocationManager locationManager)
252 {
253 assert !this.destroyed.get() : "trying to use a destroyed object";
254 return native_getNotificationManager(this.nativeRef, locationManager);
255 }
256 private native NotificationManager native_getNotificationManager(long _nativeRef, LocationManager locationManager);
257
258 @Override
259 public ResourceManager getResourceManager(LocationManager locationManager)
260 {
261 assert !this.destroyed.get() : "trying to use a destroyed object";
262 return native_getResourceManager(this.nativeRef, locationManager);
263 }
264 private native ResourceManager native_getResourceManager(long _nativeRef, LocationManager locationManager);
265
266 @Override
267 public LocationEditManager getLocationEditManager(LocationManager locationManager)
268 {
269 assert !this.destroyed.get() : "trying to use a destroyed object";
270 return native_getLocationEditManager(this.nativeRef, locationManager);
271 }
272 private native LocationEditManager native_getLocationEditManager(long _nativeRef, LocationManager locationManager);
273
274 @Override
275 public MeasurementManager getMeasurementManager(LocationManager locationManager)
276 {
277 assert !this.destroyed.get() : "trying to use a destroyed object";
278 return native_getMeasurementManager(this.nativeRef, locationManager);
279 }
280 private native MeasurementManager native_getMeasurementManager(long _nativeRef, LocationManager locationManager);
281
282 @Override
283 public BeaconProximityEstimator getBeaconProximityEstimator(LocationManager locationManager)
284 {
285 assert !this.destroyed.get() : "trying to use a destroyed object";
286 return native_getBeaconProximityEstimator(this.nativeRef, locationManager);
287 }
288 private native BeaconProximityEstimator native_getBeaconProximityEstimator(long _nativeRef, LocationManager locationManager);
289
290 @Override
291 public String getErrorDescription(int errorCode)
292 {
293 assert !this.destroyed.get() : "trying to use a destroyed object";
294 return native_getErrorDescription(this.nativeRef, errorCode);
295 }
296 private native String native_getErrorDescription(long _nativeRef, int errorCode);
297
298 @Override
299 public LocationWindow createLocationWindow(com.navigine.view.PlatformView platformView)
300 {
301 assert !this.destroyed.get() : "trying to use a destroyed object";
302 return native_createLocationWindow(this.nativeRef, platformView);
303 }
304 private native LocationWindow native_createLocationWindow(long _nativeRef, com.navigine.view.PlatformView platformView);
305
306 @Override
307 public LocationListManager getLocationListManager()
308 {
309 assert !this.destroyed.get() : "trying to use a destroyed object";
310 return native_getLocationListManager(this.nativeRef);
311 }
312 private native LocationListManager native_getLocationListManager(long _nativeRef);
313
314 public static native NavigineSdk getInstance();
315
316 public static native String getVersion();
317
318 public static native String getDeviceId();
319
320 public static native long getRelativeTime();
321 }
322}