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
  • POIPointOfInterest : POI to delete

  • Callback – NullResultCallback : callback when asynchronous task finishes

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
  • OriginLocationcsp::systems::GeoLocation : The latitude and longitude coordinates of origin of the search location.

  • AreaRadius – double : The Radius of the circular area to search around the provided origin.

  • Type – csp::common::Optional<EPointOfInterestType> : The type of POI to search for. If none is specified, all types will be included in the returned set.

  • Callback – POICollectionResultCallback : callback when asynchronous task finishes.

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
  • SiteSite : Site information to be stored

  • Callback – SiteResultCallback : callback when asynchronous task finishes

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
  • SiteSite : Site information to be removed

  • Callback – NullResultCallback : callback when asynchronous task finishes

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
  • SpaceSpace : Space for which the associated POIs will be queried

  • Callback – SitesCollectionResultCallback : callback when asynchronous task finishes

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)