LocationAPI_TypesAndValues.ttcn 1.24 KB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
module LocationAPI_TypesAndValues {
  
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;

  type record TimeStamp {
    UInt32 seconds,
    UInt32 nanoSeconds
  }
  
  /**
   * @desc A type containing user information.
   */
  type record UserInfo {
    universal charstring address_,
    universal charstring accessPointId,
    universal charstring zoneId,
    universal charstring resourceURL,
    TimeStamp timeStamp,
    LocationInfo locationInfo optional,
    universal charstring contextLocationInfo optional,
    universal charstring ancillaryInfo optional
  } with {
    variant (address_) "name as 'address'";
  } // End of type UserInfo
  
  /**
   * @desc A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.
   */
  type record LocationInfo {
    float latitude,
    float longitude,
    float altitude optional,
    integer accuracy
  } // End of type LocationInfo
  
  /**
   * @desc A type containing zone information.
   */
  type record ZoneInfo {
    universal charstring zoneId,
    UInt32 numberOfAccessPoints,
    UInt32 numberOfUnservicableAccessPoints,
    UInt32 numberOfUsers,
    universal charstring resourceURL
  }
  
} with {
  encode "JSON"
}