8 #ifndef META_OCEAN_DEVICES_ARKIT_AK_FACTORY_H
9 #define META_OCEAN_DEVICES_ARKIT_AK_FACTORY_H
This class implements a checker for the availability of GeoAnchors at the current location.
Definition: AKFactory.h:41
~GeoAnchorAvailabilityChecker() override
Destructs this object.
Lock lock_
The checker's lock.
Definition: AKFactory.h:95
GeoAnchorAvailabilityChecker(AKFactory &owner)
Creates a new object allowing to determine whether geo anchors are available.
AKFactory & owner_
The owner of this object.
Definition: AKFactory.h:86
AvailabilityState
Definition of individual availability states.
Definition: AKFactory.h:48
@ AS_NOT_AVAILABLE
Geo Anchors are know to be not available at the current location.
Definition: AKFactory.h:52
AvailabilityState availabilityState() const
Returns the availability state.
Definition: AKFactory.h:156
void threadRun() override
The thread run function in which the availability state will be determined.
AvailabilityState availabilityState_
The checker's availability state.
Definition: AKFactory.h:89
GPSTrackerRef gpsTracker_
The GPS tracker providing the current location.
Definition: AKFactory.h:92
This class implements a device factory for the ARKit tracking library.
Definition: AKFactory.h:32
static bool registerFactory()
Registers this factory at the manager.
GeoAnchorAvailabilityChecker geoAnchorAvailabilityChecker_
The checker for the availability of ARKit's Geo Anchors.
Definition: AKFactory.h:153
static bool unregisterFactory()
Unregisters this factory at the manger.
void registerDevices()
Registers all devices.
Device * createAKTracker6DOF(const std::string &name, const Device::DeviceType &deviceType)
Creates a new 6DOF tracker.
AKFactory()
Creates a new factory.
Device * createAKRoomPlanTracker6DOF(const std::string &name, const Device::DeviceType &deviceType)
Creates a new 6DOF room plan tracker.
void onKnownGeoAnchorAvailability(const GeoAnchorAvailabilityChecker::AvailabilityState availabilityState)
Event function which is called once the availability of geo anchors is known.
Definition of a class holding the major and minor device type.
Definition: devices/Device.h:62
This class is the base class for all devices of any type.
Definition: devices/Device.h:28
This class implements a factory able to create instances of devices.
Definition: devices/Factory.h:28
This class implements a recursive lock object.
Definition: Lock.h:31
This class implements a scoped lock object for recursive lock objects.
Definition: Lock.h:135
This class implements a thread.
Definition: Thread.h:115
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15