import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
/**
* Logs multiple device event details. Details include an event(crash,error,unexpected result) and the device status at the time of the event.
*/
@Api(Description="Logs multiple device event details. Details include an event(crash,error,unexpected result) and the device status at the time of the event.")
public static class LogDeviceStatuses
{
/**
* A list of logged event statuses for a device.
*/
@ApiMember(DataType="int", Description="A list of logged event statuses for a device.", IsRequired=true, Name="DeviceStatuses", ParameterType="query")
public ArrayList<LogDeviceStatus> DeviceStatuses = new ArrayList<LogDeviceStatus>();
public ArrayList<LogDeviceStatus> getDeviceStatuses() { return DeviceStatuses; }
public LogDeviceStatuses setDeviceStatuses(ArrayList<LogDeviceStatus> value) { this.DeviceStatuses = value; return this; }
}
/**
* 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 .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/LogDeviceStatuses HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<LogDeviceStatuses xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
<DeviceStatuses>
<LogDeviceStatus>
<ApplianceId>00000000-0000-0000-0000-000000000000</ApplianceId>
<BatteryCharging>false</BatteryCharging>
<BatteryLevel>0</BatteryLevel>
<CanSendSMS>false</CanSendSMS>
<CellularDataEnabled>false</CellularDataEnabled>
<DataRoamingEnabled>false</DataRoamingEnabled>
<DeviceId>00000000-0000-0000-0000-000000000000</DeviceId>
<Event>0001-01-01T00:00:00</Event>
<EventDetail1>String</EventDetail1>
<EventDetail2>String</EventDetail2>
<EventDetail3>String</EventDetail3>
<EventDetail4>String</EventDetail4>
<EventDetail5>String</EventDetail5>
<EventName>String</EventName>
<InternetConnectionStatus>String</InternetConnectionStatus>
<IsInLandscape>false</IsInLandscape>
<IsInPortrait>false</IsInPortrait>
<IsNetworkAvailable>false</IsNetworkAvailable>
<Latitude>0</Latitude>
<Log>String</Log>
<Longitude>0</Longitude>
<MediaFileId1>00000000-0000-0000-0000-000000000000</MediaFileId1>
<MediaFileId2>00000000-0000-0000-0000-000000000000</MediaFileId2>
<Orientation>String</Orientation>
</LogDeviceStatus>
</DeviceStatuses>
</LogDeviceStatuses>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ResponseStatus xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<ErrorCode>String</ErrorCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors>
<ResponseError>
<ErrorCode>String</ErrorCode>
<FieldName>String</FieldName>
<Message>String</Message>
<Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringstring>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfstringstring>
</Meta>
</ResponseError>
</Errors>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
</ResponseStatus>