Class PointOfInterestSystem

Inheritance Relationships

Base Type

Class Documentation

class PointOfInterestSystem : public csp::systems::SystemBase

Public facing system that allows interfacing with Magnopus Connected Services’ concept of a Point of Interest.

Offers methods for creating and deleting POIs.

Asynchronous Calls

These are methods that perform WebClient calls and therefore operate asynchronously and require a callback to be passed for a completion result

void CreatePOI(const csp::common::String &Title, const csp::common::String &Description, const csp::common::String &Name, const csp::common::Optional<csp::common::Array<csp::common::String>> &Tags, EPointOfInterestType Type, const csp::common::String &Owner, const csp::systems::GeoLocation &Location, const AssetCollection &AssetCollection, POIResultCallback Callback)

Creates a new Point of Interest.

Parameters
void DeletePOI(const PointOfInterest &POI, NullResultCallback Callback)

Deletes a given Point of Interest.

Parameters
void GetPOIsInArea(const csp::systems::GeoLocation &OriginLocation, const double AreaRadius, const csp::common::Optional<EPointOfInterestType> &Type, POICollectionResultCallback Callback)

Retrieves an array with all the Points of Interest that are located inside the circular area defined by the parameters.

Parameters

Protected Functions

PointOfInterestSystem()
PointOfInterestSystem(csp::web::WebClient *InWebClient)
void CreateSite(const Site &Site, SiteResultCallback Callback)

Creates a new Point of Interest for storing the Space Site information.

This functionality should only be accessed through the Space System.

Parameters
void DeleteSite(const Site &Site, NullResultCallback Callback)

Removes the Point of Interest that was storing the Space Site information.

This functionality should only be accessed through the Space System.

Parameters
void GetSites(const csp::common::String &SpaceId, SitesCollectionResultCallback Callback)

Retrieves the Sites information associated with a Space.

This functionality should only be accessed through the Space system

Parameters
void AddSpaceGeoLocation(const csp::common::String &SpaceId, const csp::common::Optional<GeoLocation> &Location, const csp::common::Optional<float> &Orientation, const csp::common::Optional<csp::common::Array<GeoLocation>> &GeoFence, SpaceGeoLocationResultCallback Callback)
void UpdateSpaceGeoLocation(const csp::common::String &SpaceId, const csp::common::String &SpaceGeoLocationId, const csp::common::Optional<GeoLocation> &Location, const csp::common::Optional<float> &Orientation, const csp::common::Optional<csp::common::Array<GeoLocation>> &GeoFence, SpaceGeoLocationResultCallback Callback)
void GetSpaceGeoLocation(const csp::common::String &SpaceId, SpaceGeoLocationResultCallback Callback)
void DeleteSpaceGeoLocation(const csp::common::String &SpaceId, NullResultCallback Callback)