33 #ifndef UPNP_TV_CTRLPT_H
34 #define UPNP_TV_CTRLPT_H
42 #include "sample_util.h"
64 #define TV_SERVICE_SERVCOUNT 2
65 #define TV_SERVICE_CONTROL 0
66 #define TV_SERVICE_PICTURE 1
68 #define TV_CONTROL_VARCOUNT 3
69 #define TV_CONTROL_POWER 0
70 #define TV_CONTROL_CHANNEL 1
71 #define TV_CONTROL_VOLUME 2
73 #define TV_PICTURE_VARCOUNT 4
74 #define TV_PICTURE_COLOR 0
75 #define TV_PICTURE_TINT 1
76 #define TV_PICTURE_CONTRAST 2
77 #define TV_PICTURE_BRIGHTNESS 3
79 #define TV_MAX_VAL_LEN 5
86 #define TV_MAXVARS TV_PICTURE_VARCOUNT
88 extern char TvDeviceType[];
89 extern char *TvServiceType[];
90 extern char *TvServiceName[];
91 extern char *TvVarName[TV_SERVICE_SERVCOUNT][TV_MAXVARS];
92 extern char TvVarCount[];
95 char ServiceId[NAME_SIZE];
96 char ServiceType[NAME_SIZE];
97 char *VariableStrVal[TV_MAXVARS];
98 char EventURL[NAME_SIZE];
99 char ControlURL[NAME_SIZE];
107 char DescDocURL[250];
108 char FriendlyName[250];
111 struct tv_service TvService[TV_SERVICE_SERVCOUNT];
119 extern ithread_mutex_t DeviceListMutex;
123 void TvCtrlPointPrintHelp();
125 int TvCtrlPointRemoveDevice(
const char *);
126 int TvCtrlPointRemoveAll();
127 int TvCtrlPointRefresh();
130 int TvCtrlPointSendAction(
int,
int,
char *,
char **,
char **,
int);
131 int TvCtrlPointSendActionNumericArg(
int devnum,
int service,
char *actionName,
char *paramName,
int paramValue);
132 int TvCtrlPointSendPowerOn(
int devnum);
133 int TvCtrlPointSendPowerOff(
int devnum);
134 int TvCtrlPointSendSetChannel(
int,
int);
135 int TvCtrlPointSendSetVolume(
int,
int);
136 int TvCtrlPointSendSetColor(
int,
int);
137 int TvCtrlPointSendSetTint(
int,
int);
138 int TvCtrlPointSendSetContrast(
int,
int);
139 int TvCtrlPointSendSetBrightness(
int,
int);
141 int TvCtrlPointGetVar(
int,
int,
char*);
142 int TvCtrlPointGetPower(
int devnum);
143 int TvCtrlPointGetChannel(
int);
144 int TvCtrlPointGetVolume(
int);
145 int TvCtrlPointGetColor(
int);
146 int TvCtrlPointGetTint(
int);
147 int TvCtrlPointGetContrast(
int);
148 int TvCtrlPointGetBrightness(
int);
151 int TvCtrlPointPrintList(
void );
152 int TvCtrlPointPrintDevice(
int);
153 void TvCtrlPointAddDevice(
IXML_Document *,
const char *,
int);
154 void TvCtrlPointHandleGetVar(
const char *,
const char *,
const DOMString);
157 void TvCtrlPointHandleSubscribeUpdate(
const char *,
const Upnp_SID,
int);
158 int TvCtrlPointCallbackEventHandler(Upnp_EventType,
void *,
void *);
159 void TvCtrlPointVerifyTimeouts(
int);
160 void TvCtrlPointPrintCommands(
void );
161 void* TvCtrlPointCommandLoop(
void* );
162 int TvCtrlPointStart( print_string printFunctionPtr, state_update updateFunctionPtr );
163 int TvCtrlPointStop(
void );
164 int TvCtrlPointProcessCommand(
char *cmdline );
170 #endif //UPNP_TV_CTRLPT_H