3 Copyright (C) Dean Camera, 2009.
5 dean [at] fourwalledcubicle [dot] com
6 www.fourwalledcubicle.com
10 Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)
12 Permission to use, copy, modify, and distribute this software
13 and its documentation for any purpose and without fee is hereby
14 granted, provided that the above copyright notice appear in all
15 copies and that both that the copyright notice and this
16 permission notice and warranty disclaimer appear in supporting
17 documentation, and that the name of the author not be used in
18 advertising or publicity pertaining to distribution of the
19 software without specific, written prior permission.
21 The author disclaim all warranties with regard to this
22 software, including all implied warranties of merchantability
23 and fitness. In no event shall the author be liable for any
24 special, indirect or consequential damages or any damages
25 whatsoever resulting from loss of use, data or profits, whether
26 in an action of contract, negligence or other tortious action,
27 arising out of or in connection with the use or performance of
31 #ifndef _SIDESHOW_COMMANDS_H_
32 #define _SIDESHOW_COMMANDS_H_
40 #include "SideshowCommon.h"
41 #include "SideshowApplications.h"
42 #include "SideshowContent.h"
45 enum SideShow_PropertyKey_Types_t
67 enum SideShow_ScreenTypeText_t
73 enum SideShow_ColorTypes_t
77 BlackAndWhiteDisplay
= 2,
80 enum SideShow_DeviceTypes_t
84 MediaPlayerDevice
= 2,
88 AudioRecorderDevice
= 6
96 } SideShow_PropertyKey_t
;
109 } SideShow_PropertyData_t
;
112 #define SIDESHOW_CMD_PING 0x001
113 #define SIDESHOW_CMD_SET_CURRENT_USER 0x100
114 #define SIDESHOW_CMD_GET_CURRENT_USER 0x101
115 #define SIDESHOW_CMD_GET_CAPABILITIES 0x103
116 #define SIDESHOW_CMD_GET_APPLICATION_ORDER 0x104
117 #define SIDESHOW_CMD_ADD_APPLICATION 0x10D
118 #define SIDESHOW_CMD_DELETE_APPLICATION 0x10E
119 #define SIDESHOW_CMD_DELETE_ALL_APPLICATIONS 0x10F
120 #define SIDESHOW_CMD_ADD_CONTENT 0x114
121 #define SIDESHOW_CMD_DELETE_CONTENT 0x115
122 #define SIDESHOW_CMD_DELETE_ALL_CONTENT 0x116
123 #define SIDESHOW_CMD_GET_SUPPORTED_ENDPOINTS 0x117
124 #define SIDESHOW_CMD_GET_DEVICE_NAME 0x500
125 #define SIDESHOW_CMD_GET_MANUFACTURER 0x501
126 #define SIDESHOW_CMD_SYNC 0x502
128 #define PROPERTY_SIDESHOW_DEVICEID 1
129 #define PROPERTY_SIDESHOW_SCREENTYPE 2
130 #define PROPERTY_SIDESHOW_SCREENWIDTH 3
131 #define PROPERTY_SIDESHOW_SCREENHEIGHT 4
132 #define PROPERTY_SIDESHOW_COLORDEPTH 5
133 #define PROPERTY_SIDESHOW_COLORTYPE 6
134 #define PROPERTY_SIDESHOW_DATACACHE 7
135 #define PROPERTY_SIDESHOW_SUPPORTEDLANGS 8
136 #define PROPERTY_SIDESHOW_CURRENTLANG 9
137 #define PROPERTY_SIDESHOW_SUPPORTEDTHEMES 10
138 #define PROPERTY_SIDESHOW_IMAGEFORMAT 14
139 #define PROPERTY_SIDESHOW_CLIENTWIDTH 15
140 #define PROPERTY_SIDESHOW_CLIENTHEIGHT 16
141 #define PROPERTY_SIDESHOW_DEVICEICON 17
143 #define PROPERTY_DEVICE_DEVICETYPE 15
145 /* Function Prototypes: */
146 void Sideshow_ProcessCommandPacket(void);
148 #if defined(INCLUDE_FROM_SIDESHOWCOMMANDS_H)
149 static void SideShow_Ping(SideShow_PacketHeader_t
* PacketHeader
);
150 static void SideShow_Sync(SideShow_PacketHeader_t
* PacketHeader
);
151 static void SideShow_GetCurrentUser(SideShow_PacketHeader_t
* PacketHeader
);
152 static void SideShow_SetCurrentUser(SideShow_PacketHeader_t
* PacketHeader
);
153 static void SideShow_GetCapabilities(SideShow_PacketHeader_t
* PacketHeader
);
154 static void SideShow_GetString(SideShow_PacketHeader_t
* PacketHeader
, void* UnicodeStruct
);
155 static void SideShow_GetApplicationOrder(SideShow_PacketHeader_t
* PacketHeader
);
156 static void SideShow_GetSupportedEndpoints(SideShow_PacketHeader_t
* PacketHeader
);
157 static void SideShow_AddApplication(SideShow_PacketHeader_t
* PacketHeader
);
158 static void SideShow_DeleteApplication(SideShow_PacketHeader_t
* PacketHeader
);
159 static void SideShow_DeleteAllApplications(SideShow_PacketHeader_t
* PacketHeader
);
160 static void SideShow_AddContent(SideShow_PacketHeader_t
* PacketHeader
);
161 static void SideShow_DeleteContent(SideShow_PacketHeader_t
* PacketHeader
);
162 static void SideShow_DeleteAllContent(SideShow_PacketHeader_t
* PacketHeader
);