LocationAPI_TypesAndValues.ttcn 3.85 KB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
1
2
3
4
module LocationAPI_TypesAndValues {
  
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
Yann Garcia's avatar
Yann Garcia committed
5
  
Yann Garcia's avatar
Yann Garcia committed
6
7
8
9
10
11
12
  type record TimeStamp {
    UInt32 seconds,
    UInt32 nanoSeconds
  }
  
  /**
   * @desc A type containing user information.
Yann Garcia's avatar
Yann Garcia committed
13
14
15
16
17
18
   * @member address_ Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI).
   * @member accessPointId Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI TS 129 171).
   * @member zoneId Identifier of zone
   * @member resourceURL Self referring URL.
   * @member timeStamp Indicates the time of day for zonal presence notification.
   * @member locationInfo A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.
Yann Garcia's avatar
Yann Garcia committed
19
20
21
22
23
24
25
26
27
28
29
30
31
   */
  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
Yann Garcia's avatar
Yann Garcia committed
32
33
34
35
36
37
38
39
40
41
42

  /**
   * @desc A type containing list of users.
   * @member user Collection of the zone information list.
   * @member resourceURL Self referring URL.
   */
  type record of UserInfo UserInfos;
  type record UserList {
    UserInfos user optional,
    universal charstring resourceURL
  }
Yann Garcia's avatar
Yann Garcia committed
43
44
45
  
  /**
   * @desc A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.
Yann Garcia's avatar
Yann Garcia committed
46
47
48
49
   * @member latitude
   * @member longitude
   * @member altitude
   * @member accuracy
Yann Garcia's avatar
Yann Garcia committed
50
51
52
53
54
55
56
57
58
59
   */
  type record LocationInfo {
    float latitude,
    float longitude,
    float altitude optional,
    integer accuracy
  } // End of type LocationInfo
  
  /**
   * @desc A type containing zone information.
Yann Garcia's avatar
Yann Garcia committed
60
61
62
63
64
   * @member zoneId Identifier of zone
   * @member numberOfAccessPoints The number of access points within the zone
   * @member numberOfUnservicableAccessPoints Number of inoperable access points within the zone.
   * @member numberOfUsers The number of users currently on the access point.
   * @member resourceURL Self referring URL.
Yann Garcia's avatar
Yann Garcia committed
65
66
67
68
69
70
71
72
   */
  type record ZoneInfo {
    universal charstring zoneId,
    UInt32 numberOfAccessPoints,
    UInt32 numberOfUnservicableAccessPoints,
    UInt32 numberOfUsers,
    universal charstring resourceURL
  }
Yann Garcia's avatar
Yann Garcia committed
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88

  /**
   * @desc Collection of the zone information list.
   * @member zone Collection of the zone information list.
   * @member resourceURL Self referring URL.
   */
  type record of ZoneInfo ZoneInfos;
  type record ZoneList {
    ZoneInfos zone optional,
    universal charstring resourceURL
  }

  /**
   * @desc The connection type for the access point.
   */
  type enumerated ConnectionType {
Yann Garcia's avatar
Yann Garcia committed
89
90
91
92
93
94
95
96
97
98
    Femto,
    LTE_femto,
    Smallcell,
    LTE_smallcell,
    Wifi,
    Pico,
    Micro,
    Macro,
    Wimax,
    Unknown
Yann Garcia's avatar
Yann Garcia committed
99
100
101
102
103
104
  }

  /**
   * @desc The operation status of the access point
   */
  type enumerated OperationStatus {
Yann Garcia's avatar
Yann Garcia committed
105
106
107
    Serviceable,
    Unserviceable,
    Unknown
Yann Garcia's avatar
Yann Garcia committed
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
  }
  
  /**
   * @desc A type containing access point information.
   * @member accessPointId
   * @member connectionType The connection type for the access poin
   * @member operationStatus The operation status of the access point
   * @member numberOfUsers The number of users currently on the access point.
   * @member resourceURL Self referring URL.
   */
  type record AccessPointInfo {
    universal charstring accessPointId,
    ConnectionType connectionType,
    OperationStatus operationStatus,
    UInt32 numberOfUsers,
    universal charstring resourceURL
  }

  type record of AccessPointInfo AccessPointInfos
  type record AccessPointInfoList {
    AccessPointInfos AccessPointInfo optional,
    universal charstring resourceURL
  }
Yann Garcia's avatar
Yann Garcia committed
131
132
133
134
  
} with {
  encode "JSON"
}