import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
/**
* Logs details of an event(crash,error,unexpected result) and the device status at the time of the event.
*/
@Api(Description="Logs details of an event(crash,error,unexpected result) and the device status at the time of the event.")
public static class LogDeviceStatus
{
/**
* Guid of the Appliance this Device is logging an event status for.
*/
@ApiMember(DataType="Guid", Description="Guid of the Appliance this Device is logging an event status for.", IsRequired=true, Name="ApplianceId", ParameterType="query")
public UUID ApplianceId = null;
/**
* Guid representing the saved Device
*/
@ApiMember(DataType="Guid", Description="Guid representing the saved Device", IsRequired=true, Name="DeviceId", ParameterType="query")
public UUID DeviceId = null;
/**
* The latitude the device was last located at.
*/
@ApiMember(DataType="double", Description="The latitude the device was last located at.", IsRequired=true, Name="Latitude", ParameterType="query")
public Double Latitude = null;
/**
* The longitude the device was last located at.
*/
@ApiMember(DataType="double", Description="The longitude the device was last located at.", IsRequired=true, Name="Longitude", ParameterType="query")
public Double Longitude = null;
/**
* Name of the event we're logging.
*/
@ApiMember(DataType="string", Description="Name of the event we're logging.", Name="EventName", ParameterType="query")
public String EventName = null;
/**
* Details of the event up to (255 char).
*/
@ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="EventDetail1", ParameterType="query")
public String EventDetail1 = null;
/**
* Details of the event up to (255 char).
*/
@ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="EventDetail2", ParameterType="query")
public String EventDetail2 = null;
/**
* Details of the event up to (255 char).
*/
@ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="EventDetail3", ParameterType="query")
public String EventDetail3 = null;
/**
* Details of the event up to (255 char).
*/
@ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="EventDetail4", ParameterType="query")
public String EventDetail4 = null;
/**
* Details of the event up to (255 char).
*/
@ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="EventDetail5", ParameterType="query")
public String EventDetail5 = null;
/**
* Details of the event up to (255 char).
*/
@ApiMember(DataType="string", Description="Details of the event up to (255 char).", Name="Orientation", ParameterType="query")
public String Orientation = null;
/**
* The device internet connection status.
*/
@ApiMember(DataType="string", Description="The device internet connection status.", Name="InternetConnectionStatus", ParameterType="query")
public String InternetConnectionStatus = null;
/**
* Unlimited text field for logging details of the event.
*/
@ApiMember(DataType="string", Description="Unlimited text field for logging details of the event.", Name="Log", ParameterType="query")
public String Log = null;
/**
* Date and Time of the event.
*/
@ApiMember(DataType="DateTime", Description="Date and Time of the event.", Name="Event", ParameterType="query")
public Date Event = null;
/**
* True if the device is in portrait mode.
*/
@ApiMember(DataType="bool", Description="True if the device is in portrait mode.", Name="IsInPortrait", ParameterType="query")
public Boolean IsInPortrait = null;
/**
* True if the device is in landscape mode.
*/
@ApiMember(DataType="bool", Description="True if the device is in landscape mode.", Name="IsInLandscape", ParameterType="query")
public Boolean IsInLandscape = null;
/**
* True if cellular data is enabled.
*/
@ApiMember(DataType="bool", Description="True if cellular data is enabled.", Name="CellularDataEnabled", ParameterType="query")
public Boolean CellularDataEnabled = null;
/**
* True if data roaming is enabled.
*/
@ApiMember(DataType="bool", Description="True if data roaming is enabled.", Name="DataRoamingEnabled", ParameterType="query")
public Boolean DataRoamingEnabled = null;
/**
* True if the network is available.
*/
@ApiMember(DataType="bool", Description="True if the network is available.", Name="IsNetworkAvailable", ParameterType="query")
public Boolean IsNetworkAvailable = null;
/**
* True if the device can send an sms.
*/
@ApiMember(DataType="bool", Description="True if the device can send an sms.", Name="CanSendSMS", ParameterType="query")
public Boolean CanSendSMS = null;
/**
* True if the battery is charging.
*/
@ApiMember(DataType="bool", Description="True if the battery is charging.", Name="BatteryCharging", ParameterType="query")
public Boolean BatteryCharging = null;
/**
* The amount of battery life left as a percentage.
*/
@ApiMember(DataType="int", Description="The amount of battery life left as a percentage.", Name="BatteryLevel", ParameterType="query")
public Integer BatteryLevel = null;
/**
* The Guid of a saved Media Object.
*/
@ApiMember(DataType="Guid", Description="The Guid of a saved Media Object.", Name="MediaFileId1", ParameterType="query")
public UUID MediaFileId1 = null;
/**
* The Guid of a saved Media Object.
*/
@ApiMember(DataType="Guid", Description="The Guid of a saved Media Object.", Name="MediaFileId2", ParameterType="query")
public UUID MediaFileId2 = null;
public UUID getApplianceId() { return ApplianceId; }
public LogDeviceStatus setApplianceId(UUID value) { this.ApplianceId = value; return this; }
public UUID getDeviceId() { return DeviceId; }
public LogDeviceStatus setDeviceId(UUID value) { this.DeviceId = value; return this; }
public Double getLatitude() { return Latitude; }
public LogDeviceStatus setLatitude(Double value) { this.Latitude = value; return this; }
public Double getLongitude() { return Longitude; }
public LogDeviceStatus setLongitude(Double value) { this.Longitude = value; return this; }
public String getEventName() { return EventName; }
public LogDeviceStatus setEventName(String value) { this.EventName = value; return this; }
public String getEventDetail1() { return EventDetail1; }
public LogDeviceStatus setEventDetail1(String value) { this.EventDetail1 = value; return this; }
public String getEventDetail2() { return EventDetail2; }
public LogDeviceStatus setEventDetail2(String value) { this.EventDetail2 = value; return this; }
public String getEventDetail3() { return EventDetail3; }
public LogDeviceStatus setEventDetail3(String value) { this.EventDetail3 = value; return this; }
public String getEventDetail4() { return EventDetail4; }
public LogDeviceStatus setEventDetail4(String value) { this.EventDetail4 = value; return this; }
public String getEventDetail5() { return EventDetail5; }
public LogDeviceStatus setEventDetail5(String value) { this.EventDetail5 = value; return this; }
public String getOrientation() { return Orientation; }
public LogDeviceStatus setOrientation(String value) { this.Orientation = value; return this; }
public String getInternetConnectionStatus() { return InternetConnectionStatus; }
public LogDeviceStatus setInternetConnectionStatus(String value) { this.InternetConnectionStatus = value; return this; }
public String getLog() { return Log; }
public LogDeviceStatus setLog(String value) { this.Log = value; return this; }
public Date getEvent() { return Event; }
public LogDeviceStatus setEvent(Date value) { this.Event = value; return this; }
public Boolean getIsInPortrait() { return IsInPortrait; }
public LogDeviceStatus setIsInPortrait(Boolean value) { this.IsInPortrait = value; return this; }
public Boolean getIsInLandscape() { return IsInLandscape; }
public LogDeviceStatus setIsInLandscape(Boolean value) { this.IsInLandscape = value; return this; }
public Boolean isCellularDataEnabled() { return CellularDataEnabled; }
public LogDeviceStatus setCellularDataEnabled(Boolean value) { this.CellularDataEnabled = value; return this; }
public Boolean isDataRoamingEnabled() { return DataRoamingEnabled; }
public LogDeviceStatus setDataRoamingEnabled(Boolean value) { this.DataRoamingEnabled = value; return this; }
public Boolean getIsNetworkAvailable() { return IsNetworkAvailable; }
public LogDeviceStatus setIsNetworkAvailable(Boolean value) { this.IsNetworkAvailable = value; return this; }
public Boolean isCanSendSMS() { return CanSendSMS; }
public LogDeviceStatus setCanSendSMS(Boolean value) { this.CanSendSMS = value; return this; }
public Boolean isBatteryCharging() { return BatteryCharging; }
public LogDeviceStatus setBatteryCharging(Boolean value) { this.BatteryCharging = value; return this; }
public Integer getBatteryLevel() { return BatteryLevel; }
public LogDeviceStatus setBatteryLevel(Integer value) { this.BatteryLevel = value; return this; }
public UUID getMediaFileId1() { return MediaFileId1; }
public LogDeviceStatus setMediaFileId1(UUID value) { this.MediaFileId1 = value; return this; }
public UUID getMediaFileId2() { return MediaFileId2; }
public LogDeviceStatus setMediaFileId2(UUID value) { this.MediaFileId2 = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/LogDeviceStatus HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Latitude: 0,
Longitude: 0,
EventName: String,
EventDetail1: String,
EventDetail2: String,
EventDetail3: String,
EventDetail4: String,
EventDetail5: String,
Orientation: String,
InternetConnectionStatus: String,
Log: String,
Event: 0001-01-01,
IsInPortrait: False,
IsInLandscape: False,
CellularDataEnabled: False,
DataRoamingEnabled: False,
IsNetworkAvailable: False,
CanSendSMS: False,
BatteryCharging: False,
BatteryLevel: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}