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 {
37 public abstract void setUserHash(String userHash);
38
53 public abstract void setServer(String server);
54
70
87 public abstract NavigationManager getNavigationManager(LocationManager locationManager);
88
104 public abstract ZoneManager getZoneManager(NavigationManager navigationManager);
105
122 public abstract RouteManager getRouteManager(LocationManager locationManager, NavigationManager navigationManager);
123
140 public abstract AsyncRouteManager getAsyncRouteManager(LocationManager locationManager, NavigationManager navigationManager);
141
158
175
186 public abstract ResourceManager getResourceManager(LocationManager locationManager);
187
188 public abstract LocationEditManager getLocationEditManager(LocationManager locationManager);
189
190 public abstract BeaconProximityEstimator getBeaconProximityEstimator(LocationManager locationManager);
191
192 public abstract String getErrorDescription(int errorCode);
193
194 public abstract LocationWindow createLocationWindow(com.navigine.view.PlatformView platformView);
195
212
227
234
249 public static NavigineSdk getInstance()
250 {
251 return CppProxy.getInstance();
252 }
253
268 public static String getVersion()
269 {
270 return CppProxy.getVersion();
271 }
272
287 public static String getDeviceId()
288 {
289 return CppProxy.getDeviceId();
290 }
291
306 public static long getRelativeTime()
307 {
308 return CppProxy.getRelativeTime();
309 }
310
311 private static final class CppProxy extends NavigineSdk
312 {
313 private final long nativeRef;
314 private final AtomicBoolean destroyed = new AtomicBoolean(false);
315
316 private CppProxy(long nativeRef)
317 {
318 if (nativeRef == 0) throw new RuntimeException("nativeRef is zero");
319 this.nativeRef = nativeRef;
320 }
321
322 private native void nativeDestroy(long nativeRef);
323 public void _djinni_private_destroy()
324 {
325 boolean destroyed = this.destroyed.getAndSet(true);
326 if (!destroyed) nativeDestroy(this.nativeRef);
327 }
328 protected void finalize() throws java.lang.Throwable
329 {
330 _djinni_private_destroy();
331 super.finalize();
332 }
333
334 // NavigineSdk methods
335
336 @Override
337 public void setUserHash(String userHash)
338 {
339 assert !this.destroyed.get() : "trying to use a destroyed object";
340 native_setUserHash(this.nativeRef, userHash);
341 }
342 private native void native_setUserHash(long _nativeRef, String userHash);
343
344 @Override
345 public void setServer(String server)
346 {
347 assert !this.destroyed.get() : "trying to use a destroyed object";
348 native_setServer(this.nativeRef, server);
349 }
350 private native void native_setServer(long _nativeRef, String server);
351
352 @Override
353 public LocationManager getLocationManager()
354 {
355 assert !this.destroyed.get() : "trying to use a destroyed object";
356 return native_getLocationManager(this.nativeRef);
357 }
358 private native LocationManager native_getLocationManager(long _nativeRef);
359
360 @Override
361 public NavigationManager getNavigationManager(LocationManager locationManager)
362 {
363 assert !this.destroyed.get() : "trying to use a destroyed object";
364 return native_getNavigationManager(this.nativeRef, locationManager);
365 }
366 private native NavigationManager native_getNavigationManager(long _nativeRef, LocationManager locationManager);
367
368 @Override
369 public ZoneManager getZoneManager(NavigationManager navigationManager)
370 {
371 assert !this.destroyed.get() : "trying to use a destroyed object";
372 return native_getZoneManager(this.nativeRef, navigationManager);
373 }
374 private native ZoneManager native_getZoneManager(long _nativeRef, NavigationManager navigationManager);
375
376 @Override
377 public RouteManager getRouteManager(LocationManager locationManager, NavigationManager navigationManager)
378 {
379 assert !this.destroyed.get() : "trying to use a destroyed object";
380 return native_getRouteManager(this.nativeRef, locationManager, navigationManager);
381 }
382 private native RouteManager native_getRouteManager(long _nativeRef, LocationManager locationManager, NavigationManager navigationManager);
383
384 @Override
385 public AsyncRouteManager getAsyncRouteManager(LocationManager locationManager, NavigationManager navigationManager)
386 {
387 assert !this.destroyed.get() : "trying to use a destroyed object";
388 return native_getAsyncRouteManager(this.nativeRef, locationManager, navigationManager);
389 }
390 private native AsyncRouteManager native_getAsyncRouteManager(long _nativeRef, LocationManager locationManager, NavigationManager navigationManager);
391
392 @Override
393 public NotificationManager getNotificationManager(LocationManager locationManager)
394 {
395 assert !this.destroyed.get() : "trying to use a destroyed object";
396 return native_getNotificationManager(this.nativeRef, locationManager);
397 }
398 private native NotificationManager native_getNotificationManager(long _nativeRef, LocationManager locationManager);
399
400 @Override
401 public MeasurementManager getMeasurementManager(LocationManager locationManager)
402 {
403 assert !this.destroyed.get() : "trying to use a destroyed object";
404 return native_getMeasurementManager(this.nativeRef, locationManager);
405 }
406 private native MeasurementManager native_getMeasurementManager(long _nativeRef, LocationManager locationManager);
407
408 @Override
409 public ResourceManager getResourceManager(LocationManager locationManager)
410 {
411 assert !this.destroyed.get() : "trying to use a destroyed object";
412 return native_getResourceManager(this.nativeRef, locationManager);
413 }
414 private native ResourceManager native_getResourceManager(long _nativeRef, LocationManager locationManager);
415
416 @Override
417 public LocationEditManager getLocationEditManager(LocationManager locationManager)
418 {
419 assert !this.destroyed.get() : "trying to use a destroyed object";
420 return native_getLocationEditManager(this.nativeRef, locationManager);
421 }
422 private native LocationEditManager native_getLocationEditManager(long _nativeRef, LocationManager locationManager);
423
424 @Override
425 public BeaconProximityEstimator getBeaconProximityEstimator(LocationManager locationManager)
426 {
427 assert !this.destroyed.get() : "trying to use a destroyed object";
428 return native_getBeaconProximityEstimator(this.nativeRef, locationManager);
429 }
430 private native BeaconProximityEstimator native_getBeaconProximityEstimator(long _nativeRef, LocationManager locationManager);
431
432 @Override
433 public String getErrorDescription(int errorCode)
434 {
435 assert !this.destroyed.get() : "trying to use a destroyed object";
436 return native_getErrorDescription(this.nativeRef, errorCode);
437 }
438 private native String native_getErrorDescription(long _nativeRef, int errorCode);
439
440 @Override
441 public LocationWindow createLocationWindow(com.navigine.view.PlatformView platformView)
442 {
443 assert !this.destroyed.get() : "trying to use a destroyed object";
444 return native_createLocationWindow(this.nativeRef, platformView);
445 }
446 private native LocationWindow native_createLocationWindow(long _nativeRef, com.navigine.view.PlatformView platformView);
447
448 @Override
449 public LocationListManager getLocationListManager()
450 {
451 assert !this.destroyed.get() : "trying to use a destroyed object";
452 return native_getLocationListManager(this.nativeRef);
453 }
454 private native LocationListManager native_getLocationListManager(long _nativeRef);
455
456 @Override
457 public StorageManager getStorageManager()
458 {
459 assert !this.destroyed.get() : "trying to use a destroyed object";
460 return native_getStorageManager(this.nativeRef);
461 }
462 private native StorageManager native_getStorageManager(long _nativeRef);
463
464 @Override
465 public UserLocationLayer getUserLocationLayer(LocationWindow locationWindow)
466 {
467 assert !this.destroyed.get() : "trying to use a destroyed object";
468 return native_getUserLocationLayer(this.nativeRef, locationWindow);
469 }
470 private native UserLocationLayer native_getUserLocationLayer(long _nativeRef, LocationWindow locationWindow);
471
472 public static native NavigineSdk getInstance();
473
474 public static native String getVersion();
475
476 public static native String getDeviceId();
477
478 public static native long getRelativeTime();
479 }
480}