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
228 public abstract MqttSession getMqttSession(NavigationManager navigationManager);
229
244
251
266 public static NavigineSdk getInstance()
267 {
268 return CppProxy.getInstance();
269 }
270
285 public static String getVersion()
286 {
287 return CppProxy.getVersion();
288 }
289
304 public static String getDeviceId()
305 {
306 return CppProxy.getDeviceId();
307 }
308
323 public static long getRelativeTime()
324 {
325 return CppProxy.getRelativeTime();
326 }
327
328 private static final class CppProxy extends NavigineSdk
329 {
330 private final long nativeRef;
331 private final AtomicBoolean destroyed = new AtomicBoolean(false);
332
333 private CppProxy(long nativeRef)
334 {
335 if (nativeRef == 0) throw new RuntimeException("nativeRef is zero");
336 this.nativeRef = nativeRef;
337 }
338
339 private native void nativeDestroy(long nativeRef);
340 public void _djinni_private_destroy()
341 {
342 boolean destroyed = this.destroyed.getAndSet(true);
343 if (!destroyed) nativeDestroy(this.nativeRef);
344 }
345 protected void finalize() throws java.lang.Throwable
346 {
347 _djinni_private_destroy();
348 super.finalize();
349 }
350
351 // NavigineSdk methods
352
353 @Override
354 public void setUserHash(String userHash)
355 {
356 assert !this.destroyed.get() : "trying to use a destroyed object";
357 native_setUserHash(this.nativeRef, userHash);
358 }
359 private native void native_setUserHash(long _nativeRef, String userHash);
360
361 @Override
362 public void setServer(String server)
363 {
364 assert !this.destroyed.get() : "trying to use a destroyed object";
365 native_setServer(this.nativeRef, server);
366 }
367 private native void native_setServer(long _nativeRef, String server);
368
369 @Override
370 public LocationManager getLocationManager()
371 {
372 assert !this.destroyed.get() : "trying to use a destroyed object";
373 return native_getLocationManager(this.nativeRef);
374 }
375 private native LocationManager native_getLocationManager(long _nativeRef);
376
377 @Override
378 public NavigationManager getNavigationManager(LocationManager locationManager)
379 {
380 assert !this.destroyed.get() : "trying to use a destroyed object";
381 return native_getNavigationManager(this.nativeRef, locationManager);
382 }
383 private native NavigationManager native_getNavigationManager(long _nativeRef, LocationManager locationManager);
384
385 @Override
386 public ZoneManager getZoneManager(NavigationManager navigationManager)
387 {
388 assert !this.destroyed.get() : "trying to use a destroyed object";
389 return native_getZoneManager(this.nativeRef, navigationManager);
390 }
391 private native ZoneManager native_getZoneManager(long _nativeRef, NavigationManager navigationManager);
392
393 @Override
394 public RouteManager getRouteManager(LocationManager locationManager, NavigationManager navigationManager)
395 {
396 assert !this.destroyed.get() : "trying to use a destroyed object";
397 return native_getRouteManager(this.nativeRef, locationManager, navigationManager);
398 }
399 private native RouteManager native_getRouteManager(long _nativeRef, LocationManager locationManager, NavigationManager navigationManager);
400
401 @Override
402 public AsyncRouteManager getAsyncRouteManager(LocationManager locationManager, NavigationManager navigationManager)
403 {
404 assert !this.destroyed.get() : "trying to use a destroyed object";
405 return native_getAsyncRouteManager(this.nativeRef, locationManager, navigationManager);
406 }
407 private native AsyncRouteManager native_getAsyncRouteManager(long _nativeRef, LocationManager locationManager, NavigationManager navigationManager);
408
409 @Override
410 public NotificationManager getNotificationManager(LocationManager locationManager)
411 {
412 assert !this.destroyed.get() : "trying to use a destroyed object";
413 return native_getNotificationManager(this.nativeRef, locationManager);
414 }
415 private native NotificationManager native_getNotificationManager(long _nativeRef, LocationManager locationManager);
416
417 @Override
418 public MeasurementManager getMeasurementManager(LocationManager locationManager)
419 {
420 assert !this.destroyed.get() : "trying to use a destroyed object";
421 return native_getMeasurementManager(this.nativeRef, locationManager);
422 }
423 private native MeasurementManager native_getMeasurementManager(long _nativeRef, LocationManager locationManager);
424
425 @Override
426 public ResourceManager getResourceManager(LocationManager locationManager)
427 {
428 assert !this.destroyed.get() : "trying to use a destroyed object";
429 return native_getResourceManager(this.nativeRef, locationManager);
430 }
431 private native ResourceManager native_getResourceManager(long _nativeRef, LocationManager locationManager);
432
433 @Override
434 public LocationEditManager getLocationEditManager(LocationManager locationManager)
435 {
436 assert !this.destroyed.get() : "trying to use a destroyed object";
437 return native_getLocationEditManager(this.nativeRef, locationManager);
438 }
439 private native LocationEditManager native_getLocationEditManager(long _nativeRef, LocationManager locationManager);
440
441 @Override
442 public BeaconProximityEstimator getBeaconProximityEstimator(LocationManager locationManager)
443 {
444 assert !this.destroyed.get() : "trying to use a destroyed object";
445 return native_getBeaconProximityEstimator(this.nativeRef, locationManager);
446 }
447 private native BeaconProximityEstimator native_getBeaconProximityEstimator(long _nativeRef, LocationManager locationManager);
448
449 @Override
450 public String getErrorDescription(int errorCode)
451 {
452 assert !this.destroyed.get() : "trying to use a destroyed object";
453 return native_getErrorDescription(this.nativeRef, errorCode);
454 }
455 private native String native_getErrorDescription(long _nativeRef, int errorCode);
456
457 @Override
458 public LocationWindow createLocationWindow(com.navigine.view.PlatformView platformView)
459 {
460 assert !this.destroyed.get() : "trying to use a destroyed object";
461 return native_createLocationWindow(this.nativeRef, platformView);
462 }
463 private native LocationWindow native_createLocationWindow(long _nativeRef, com.navigine.view.PlatformView platformView);
464
465 @Override
466 public LocationListManager getLocationListManager()
467 {
468 assert !this.destroyed.get() : "trying to use a destroyed object";
469 return native_getLocationListManager(this.nativeRef);
470 }
471 private native LocationListManager native_getLocationListManager(long _nativeRef);
472
473 @Override
474 public MqttSession getMqttSession(NavigationManager navigationManager)
475 {
476 assert !this.destroyed.get() : "trying to use a destroyed object";
477 return native_getMqttSession(this.nativeRef, navigationManager);
478 }
479 private native MqttSession native_getMqttSession(long _nativeRef, NavigationManager navigationManager);
480
481 @Override
482 public StorageManager getStorageManager()
483 {
484 assert !this.destroyed.get() : "trying to use a destroyed object";
485 return native_getStorageManager(this.nativeRef);
486 }
487 private native StorageManager native_getStorageManager(long _nativeRef);
488
489 @Override
490 public UserLocationLayer getUserLocationLayer(LocationWindow locationWindow)
491 {
492 assert !this.destroyed.get() : "trying to use a destroyed object";
493 return native_getUserLocationLayer(this.nativeRef, locationWindow);
494 }
495 private native UserLocationLayer native_getUserLocationLayer(long _nativeRef, LocationWindow locationWindow);
496
497 public static native NavigineSdk getInstance();
498
499 public static native String getVersion();
500
501 public static native String getDeviceId();
502
503 public static native long getRelativeTime();
504 }
505}