Doxygen and white spaces in samples.

This commit is contained in:
Marcelo Roberto Jimenez 2010-12-22 11:54:45 -02:00
parent e07ba67188
commit 3bf350cceb
6 changed files with 862 additions and 864 deletions

View File

@ -29,6 +29,13 @@
*
******************************************************************************/
/*!
* \addtogroup UpnpSamples
*
* @{
*
* \file
*/
#define SAMPLE_UTIL_C
#include "sample_util.h"
@ -666,3 +673,5 @@ void linux_print(const char *format, ...)
fflush(stdout);
va_end(argList);
}
/*! @} UpnpSamples */

View File

@ -1,3 +1,6 @@
#ifndef SAMPLE_UTIL_H
#define SAMPLE_UTIL_H
/*******************************************************************************
*
* Copyright (c) 2000-2003 Intel Corporation
@ -29,10 +32,11 @@
*
******************************************************************************/
#ifndef SAMPLE_UTIL_H
#define SAMPLE_UTIL_H
/*!
* \defgroup UpnpSamples Sample Code
*
* @{
*
* \file
*/
@ -259,5 +263,7 @@ void linux_print(const char *format, ...)
#define strcasecmp stricmp
#endif
/*! @} UpnpSamples */
#endif /* SAMPLE_UTIL_H */

View File

@ -29,6 +29,18 @@
*
******************************************************************************/
/*!
* \addtogroup UpnpSamples
*
* @{
*
* \name Control Point Sample Module
*
* @{
*
* \file
*/
#include "tv_ctrlpt.h"
#include "upnp.h"
@ -1574,3 +1586,6 @@ int TvCtrlPointProcessCommand(char *cmdline)
return TV_SUCCESS;
}
/*! @} Control Point Sample Module */
/*! @} UpnpSamples */

View File

@ -33,6 +33,14 @@
**************************************************************************/
/*!
* \addtogroup UpnpSamples
*
* @{
*
* \name Contro Point Sample API
*
* @{
*
* \file
*/
@ -42,17 +50,13 @@ extern "C" {
#include "sample_util.h"
#include "ithread.h"
#include "upnp.h"
#include "UpnpString.h"
#include "upnptools.h"
#include "UpnpUniStd.h" /* for close() */
#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TV_SERVICE_SERVCOUNT 2
#define TV_SERVICE_CONTROL 0
@ -213,5 +217,9 @@ int TvCtrlPointProcessCommand(char *cmdline);
};
#endif
#endif /* UPNP_TV_CTRLPT_H */
/*! @} Device Sample */
/*! @} UpnpSamples */
#endif /* UPNP_TV_CTRLPT_H */

View File

@ -29,6 +29,18 @@
*
******************************************************************************/
/*!
* \addtogroup UpnpSamples
*
* @{
*
* \name Device Sample Module
*
* @{
*
* \file
*/
#include "tv_device.h"
#include <assert.h>
@ -40,12 +52,14 @@
/*! Global arrays for storing Tv Control Service variable names, values,
* and defaults. */
const char *tvc_varname[] = { "Power", "Channel", "Volume" };
char tvc_varval[TV_CONTROL_VARCOUNT][TV_MAX_VAL_LEN];
const char *tvc_varval_def[] = { "1", "1", "5" };
/*! Global arrays for storing Tv Picture Service variable names, values,
* and defaults. */
const char *tvp_varname[] = { "Color", "Tint", "Contrast", "Brightness" };
char tvp_varval[TV_PICTURE_VARCOUNT][TV_MAX_VAL_LEN];
const char *tvp_varval_def[] = { "5", "5", "5", "5" };
@ -97,15 +111,15 @@ ithread_mutex_t TVDevMutex;
*/
static int SetServiceTable(
/*! [in] one of TV_SERVICE_CONTROL or, TV_SERVICE_PICTURE. */
IN int serviceType,
int serviceType,
/*! [in] UDN of device containing service. */
IN const char *UDN,
const char *UDN,
/*! [in] serviceId of service. */
IN const char *serviceId,
const char *serviceId,
/*! [in] service type (as specified in Description Document) . */
IN const char *serviceTypeS,
const char *serviceTypeS,
/*! [in,out] service containing table to be set. */
INOUT struct TvService *out)
struct TvService *out)
{
int i = 0;
@ -126,11 +140,9 @@ static int SetServiceTable(
strcpy(tv_service_table[TV_SERVICE_CONTROL].
VariableStrVal[i], tvc_varval_def[i]);
}
break;
case TV_SERVICE_PICTURE:
out->VariableCount = TV_PICTURE_VARCOUNT;
for (i = 0;
i < tv_service_table[TV_SERVICE_PICTURE].VariableCount;
i++) {
@ -141,7 +153,6 @@ static int SetServiceTable(
strcpy(tv_service_table[TV_SERVICE_PICTURE].
VariableStrVal[i], tvp_varval_def[i]);
}
break;
default:
assert(0);
@ -209,12 +220,12 @@ int TvDeviceStateTableInit(char *DescDocURL)
{
IXML_Document *DescDoc = NULL;
int ret = UPNP_E_SUCCESS;
char *servid_ctrl = NULL,
*evnturl_ctrl = NULL,
*ctrlurl_ctrl = NULL;
char *servid_pict = NULL,
*evnturl_pict = NULL,
*ctrlurl_pict = NULL;
char *servid_ctrl = NULL;
char *evnturl_ctrl = NULL;
char *ctrlurl_ctrl = NULL;
char *servid_pict = NULL;
char *evnturl_pict = NULL;
char *ctrlurl_pict = NULL;
char *udn = NULL;
/*Download description document */
@ -224,40 +235,29 @@ int TvDeviceStateTableInit(char *DescDocURL)
ret = UPNP_E_INVALID_DESC;
goto error_handler;
}
udn = SampleUtil_GetFirstDocumentItem(DescDoc, "UDN");
/*
Find the Tv Control Service identifiers
*/
/* Find the Tv Control Service identifiers */
if (!SampleUtil_FindAndParseService(DescDoc, DescDocURL,
TvServiceType[TV_SERVICE_CONTROL],
&servid_ctrl, &evnturl_ctrl,
&ctrlurl_ctrl)) {
SampleUtil_Print( "TvDeviceStateTableInit -- Error: Could not find"
" Service: %s\n",
SampleUtil_Print("TvDeviceStateTableInit -- Error: Could not find Service: %s\n",
TvServiceType[TV_SERVICE_CONTROL]);
ret = UPNP_E_INVALID_DESC;
goto error_handler;
}
/* set control service table */
SetServiceTable(TV_SERVICE_CONTROL, udn, servid_ctrl,
TvServiceType[TV_SERVICE_CONTROL],
&tv_service_table[TV_SERVICE_CONTROL]);
/*
Find the Tv Picture Service identifiers
*/
/* Find the Tv Picture Service identifiers */
if (!SampleUtil_FindAndParseService(DescDoc, DescDocURL,
TvServiceType[TV_SERVICE_PICTURE],
&servid_pict, &evnturl_pict,
&ctrlurl_pict)) {
SampleUtil_Print( "TvDeviceStateTableInit -- Error: Could not find"
" Service: %s\n",
SampleUtil_Print("TvDeviceStateTableInit -- Error: Could not find Service: %s\n",
TvServiceType[TV_SERVICE_PICTURE]);
ret = UPNP_E_INVALID_DESC;
goto error_handler;
}
@ -267,7 +267,6 @@ int TvDeviceStateTableInit(char *DescDocURL)
&tv_service_table[TV_SERVICE_PICTURE]);
error_handler:
/* clean up */
if (udn)
free(udn);
@ -314,32 +313,30 @@ int TvDeviceHandleSubscriptionRequest(const UpnpSubscriptionRequest *sr_event)
for (j = 0; j < tv_service_table[i].VariableCount; ++j) {
/* add each variable to the property set */
/* for initial state dump */
UpnpAddToPropertySet(
&PropSet,
tv_service_table[i].VariableName[j],
tv_service_table[i].VariableStrVal[j]);
UpnpAddToPropertySet(&PropSet,
tv_service_table[i].
VariableName[j],
tv_service_table[i].
VariableStrVal[j]);
}
/* dump initial state */
UpnpAcceptSubscriptionExt(
device_handle,
UpnpAcceptSubscriptionExt(device_handle,
l_udn,
l_serviceId,
PropSet,
l_sid);
l_serviceId, PropSet, l_sid);
/* free document */
Document_free(PropSet);
#endif
UpnpAcceptSubscription(
device_handle,
UpnpAcceptSubscription(device_handle,
l_udn,
l_serviceId,
(const char **)tv_service_table[i].
VariableName,
(const char **)tv_service_table[i].
VariableStrVal,
tv_service_table[i].VariableCount,
l_sid);
(const char **)
tv_service_table[i].VariableName,
(const char **)
tv_service_table
[i].VariableStrVal,
tv_service_table[i].
VariableCount, l_sid);
}
}
@ -383,8 +380,7 @@ int TvDeviceHandleGetVarRequest(UpnpStateVarRequest *cgv_event)
if (getvar_succeeded) {
UpnpStateVarRequest_set_ErrCode(cgv_event, UPNP_E_SUCCESS);
} else {
SampleUtil_Print(
"Error in UPNP_CONTROL_GET_VAR_REQUEST callback:\n"
SampleUtil_Print("Error in UPNP_CONTROL_GET_VAR_REQUEST callback:\n"
" Unknown variable name = %s\n",
UpnpString_get_String(UpnpStateVarRequest_get_StateVarName(cgv_event)));
UpnpStateVarRequest_set_ErrCode(cgv_event, 404);
@ -476,42 +472,33 @@ int TvDeviceHandleActionRequest(UpnpActionRequest *ca_event)
int TvDeviceSetServiceTableVar(unsigned int service, int variable, char *value)
{
/* IXML_Document *PropSet= NULL; */
if( ( service >= TV_SERVICE_SERVCOUNT )
|| ( variable >= tv_service_table[service].VariableCount )
|| ( strlen( value ) >= TV_MAX_VAL_LEN ) ) {
if (service >= TV_SERVICE_SERVCOUNT ||
variable >= tv_service_table[service].VariableCount ||
strlen(value) >= TV_MAX_VAL_LEN)
return (0);
}
ithread_mutex_lock(&TVDevMutex);
strcpy(tv_service_table[service].VariableStrVal[variable], value);
#if 0
/* Using utility api */
PropSet= UpnpCreatePropertySet(1,tv_service_table[service].
VariableName[variable],
tv_service_table[service].
VariableStrVal[variable]);
PropSet = UpnpCreatePropertySet(1,
tv_service_table[service].VariableName[variable],
tv_service_table[service].VariableStrVal[variable]);
UpnpNotifyExt(device_handle, tv_service_table[service].UDN,
tv_service_table[service].ServiceId, PropSet);
/* Free created property set */
Document_free(PropSet);
#endif
UpnpNotify(device_handle,
tv_service_table[service].UDN,
tv_service_table[service].ServiceId,
( const char ** )&tv_service_table[service].
VariableName[variable],
( const char ** )&tv_service_table[service].
VariableStrVal[variable], 1 );
(const char **)&tv_service_table[service].VariableName[variable],
(const char **)&tv_service_table[service].VariableStrVal[variable], 1);
ithread_mutex_unlock(&TVDevMutex);
return ( 1 );
return 1;
}
/*!
@ -540,14 +527,14 @@ static int TvDeviceSetPower(
return ret;
}
int TvDevicePowerOn(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDevicePowerOn(IXML_Document * in,IXML_Document **out,
const char **errorString)
{
(*out) = NULL;
(*errorString) = NULL;
if (TvDeviceSetPower(POWER_ON)) {
/* create a response */
if (UpnpAddToActionResponse(out, "PowerOn",
TvServiceType[TV_SERVICE_CONTROL],
"Power", "1") != UPNP_E_SUCCESS) {
@ -563,7 +550,8 @@ int TvDevicePowerOn(IXML_Document *in, IXML_Document **out, const char **errorSt
in = in;
}
int TvDevicePowerOff(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDevicePowerOff(IXML_Document *in, IXML_Document **out,
const char **errorString)
{
(*out) = NULL;
(*errorString) = NULL;
@ -577,41 +565,34 @@ int TvDevicePowerOff(IXML_Document *in, IXML_Document **out, const char **errorS
(*errorString) = "Internal Error";
return UPNP_E_INTERNAL_ERROR;
}
return UPNP_E_SUCCESS;
}
(*errorString) = "Internal Error";
return UPNP_E_INTERNAL_ERROR;
in = in;
}
int TvDeviceSetChannel(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceSetChannel(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
char *value = NULL;
int channel = 0;
(*out) = NULL;
(*errorString) = NULL;
if (!(value = SampleUtil_GetFirstDocumentItem(in, "Channel"))) {
(*errorString) = "Invalid Channel";
return UPNP_E_INVALID_PARAM;
}
channel = atoi(value);
if (channel < MIN_CHANNEL || channel > MAX_CHANNEL) {
free(value);
SampleUtil_Print( "error: can't change to channel %d\n", channel );
SampleUtil_Print("error: can't change to channel %d\n",
channel);
(*errorString) = "Invalid Channel";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the channel goes here. */
if (TvDeviceSetServiceTableVar(TV_SERVICE_CONTROL,
TV_CONTROL_CHANNEL, value)) {
if (UpnpAddToActionResponse(out, "SetChannel",
@ -632,11 +613,11 @@ int TvDeviceSetChannel(IXML_Document *in, IXML_Document **out, const char **erro
}
}
int IncrementChannel(int incr, IN IXML_Document *in, IXML_Document **out, const char **errorString)
int IncrementChannel(int incr, IN IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
int curchannel;
int newchannel;
const char *actionName = NULL;
char value[TV_MAX_VAL_LEN];
@ -647,8 +628,9 @@ int IncrementChannel(int incr, IN IXML_Document *in, IXML_Document **out, const
}
ithread_mutex_lock(&TVDevMutex);
curchannel = atoi( tv_service_table[TV_SERVICE_CONTROL].
VariableStrVal[TV_CONTROL_CHANNEL] );
curchannel =
atoi(tv_service_table[TV_SERVICE_CONTROL].VariableStrVal
[TV_CONTROL_CHANNEL]);
ithread_mutex_unlock(&TVDevMutex);
newchannel = curchannel + incr;
@ -659,11 +641,8 @@ int IncrementChannel(int incr, IN IXML_Document *in, IXML_Document **out, const
(*errorString) = "Invalid Channel";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the channel goes here. */
sprintf(value, "%d", newchannel);
if (TvDeviceSetServiceTableVar(TV_SERVICE_CONTROL,
TV_CONTROL_CHANNEL, value)) {
if (UpnpAddToActionResponse(out, actionName,
@ -682,39 +661,37 @@ int IncrementChannel(int incr, IN IXML_Document *in, IXML_Document **out, const
in = in;
}
int TvDeviceDecreaseChannel(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceDecreaseChannel(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
return IncrementChannel(-1, in, out, errorString);
}
int TvDeviceIncreaseChannel(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceIncreaseChannel(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
return IncrementChannel(1, in, out, errorString);
}
int TvDeviceSetVolume(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceSetVolume(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
char *value = NULL;
int volume = 0;
(*out) = NULL;
(*errorString) = NULL;
if (!(value = SampleUtil_GetFirstDocumentItem(in, "Volume"))) {
(*errorString) = "Invalid Volume";
return UPNP_E_INVALID_PARAM;
}
volume = atoi(value);
if (volume < MIN_VOLUME || volume > MAX_VOLUME) {
SampleUtil_Print("error: can't change to volume %d\n", volume);
(*errorString) = "Invalid Volume";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the volume goes here. */
if (TvDeviceSetServiceTableVar(TV_SERVICE_CONTROL,
TV_CONTROL_VOLUME, value)) {
if (UpnpAddToActionResponse(out, "SetVolume",
@ -761,28 +738,26 @@ static int IncrementVolume(
}
ithread_mutex_lock(&TVDevMutex);
curvolume = atoi( tv_service_table[TV_SERVICE_CONTROL].
VariableStrVal[TV_CONTROL_VOLUME] );
curvolume =
atoi(tv_service_table[TV_SERVICE_CONTROL].VariableStrVal
[TV_CONTROL_VOLUME]);
ithread_mutex_unlock(&TVDevMutex);
newvolume = curvolume + incr;
if (newvolume < MIN_VOLUME || newvolume > MAX_VOLUME) {
SampleUtil_Print("error: can't change to volume %d\n",
newvolume);
(*errorString) = "Invalid Volume";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the volume goes here. */
sprintf(value, "%d", newvolume);
if (TvDeviceSetServiceTableVar(TV_SERVICE_CONTROL,
TV_CONTROL_VOLUME, value)) {
if (UpnpAddToActionResponse(out, actionName,
TvServiceType[TV_SERVICE_CONTROL],
"Volume", value ) != UPNP_E_SUCCESS ) {
"Volume",
value) != UPNP_E_SUCCESS) {
(*out) = NULL;
(*errorString) = "Internal Error";
return UPNP_E_INTERNAL_ERROR;
@ -795,17 +770,20 @@ static int IncrementVolume(
in = in;
}
int TvDeviceIncreaseVolume(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceIncreaseVolume(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
return IncrementVolume(1, in, out, errorString);
}
int TvDeviceDecreaseVolume(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceDecreaseVolume(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
return IncrementVolume(-1, in, out, errorString);
}
int TvDeviceSetColor(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceSetColor(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
char *value = NULL;
int color = 0;
@ -816,17 +794,13 @@ int TvDeviceSetColor(IXML_Document *in, IXML_Document **out, const char **errorS
(*errorString) = "Invalid Color";
return UPNP_E_INVALID_PARAM;
}
color = atoi(value);
if (color < MIN_COLOR || color > MAX_COLOR) {
SampleUtil_Print("error: can't change to color %d\n", color);
(*errorString) = "Invalid Color";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the volume goes here. */
if (TvDeviceSetServiceTableVar(TV_SERVICE_PICTURE,
TV_PICTURE_COLOR, value)) {
if (UpnpAddToActionResponse(out, "SetColor",
@ -873,22 +847,19 @@ static int IncrementColor(
}
ithread_mutex_lock(&TVDevMutex);
curcolor = atoi( tv_service_table[TV_SERVICE_PICTURE].
VariableStrVal[TV_PICTURE_COLOR] );
curcolor =
atoi(tv_service_table[TV_SERVICE_PICTURE].VariableStrVal
[TV_PICTURE_COLOR]);
ithread_mutex_unlock(&TVDevMutex);
newcolor = curcolor + incr;
if (newcolor < MIN_COLOR || newcolor > MAX_COLOR) {
SampleUtil_Print("error: can't change to color %d\n", newcolor);
(*errorString) = "Invalid Color";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the volume goes here. */
sprintf(value, "%d", newcolor);
if (TvDeviceSetServiceTableVar(TV_SERVICE_PICTURE,
TV_PICTURE_COLOR, value)) {
if (UpnpAddToActionResponse(out, actionName,
@ -906,39 +877,37 @@ static int IncrementColor(
in = in;
}
int TvDeviceDecreaseColor(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceDecreaseColor(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
return IncrementColor(-1, in, out, errorString);
}
int TvDeviceIncreaseColor(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceIncreaseColor(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
return IncrementColor(1, in, out, errorString);
}
int TvDeviceSetTint(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceSetTint(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
char *value = NULL;
int tint = -1;
(*out) = NULL;
(*errorString) = NULL;
if (!(value = SampleUtil_GetFirstDocumentItem(in, "Tint"))) {
(*errorString) = "Invalid Tint";
return UPNP_E_INVALID_PARAM;
}
tint = atoi(value);
if (tint < MIN_TINT || tint > MAX_TINT) {
SampleUtil_Print("error: can't change to tint %d\n", tint);
(*errorString) = "Invalid Tint";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the volume goes here. */
if (TvDeviceSetServiceTableVar(TV_SERVICE_PICTURE,
TV_PICTURE_TINT, value)) {
if (UpnpAddToActionResponse(out, "SetTint",
@ -973,7 +942,8 @@ int TvDeviceSetTint(IXML_Document *in, IXML_Document **out, const char **errorSt
* IXML_Document **out - action result document
* char **errorString - errorString (in case action was unsuccessful)
*****************************************************************************/
int IncrementTint(IN int incr, IN IXML_Document *in, OUT IXML_Document **out, OUT const char **errorString)
int IncrementTint(IN int incr, IN IXML_Document *in, OUT IXML_Document **out,
OUT const char **errorString)
{
int curtint;
int newtint;
@ -987,22 +957,19 @@ int IncrementTint(IN int incr, IN IXML_Document *in, OUT IXML_Document **out, OU
}
ithread_mutex_lock(&TVDevMutex);
curtint = atoi( tv_service_table[TV_SERVICE_PICTURE].
VariableStrVal[TV_PICTURE_TINT] );
curtint =
atoi(tv_service_table[TV_SERVICE_PICTURE].VariableStrVal
[TV_PICTURE_TINT]);
ithread_mutex_unlock(&TVDevMutex);
newtint = curtint + incr;
if (newtint < MIN_TINT || newtint > MAX_TINT) {
SampleUtil_Print("error: can't change to tint %d\n", newtint);
(*errorString) = "Invalid Tint";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the volume goes here. */
sprintf(value, "%d", newtint);
if (TvDeviceSetServiceTableVar(TV_SERVICE_PICTURE,
TV_PICTURE_TINT, value)) {
if (UpnpAddToActionResponse(out, actionName,
@ -1033,8 +1000,8 @@ int IncrementTint(IN int incr, IN IXML_Document *in, OUT IXML_Document **out, OU
* char **errorString - errorString (in case action was unsuccessful)
*
*****************************************************************************/
int
TvDeviceIncreaseTint( IN IXML_Document *in, OUT IXML_Document **out, OUT const char **errorString)
int TvDeviceIncreaseTint(IN IXML_Document *in, OUT IXML_Document **out,
OUT const char **errorString)
{
return IncrementTint(1, in, out, errorString);
}
@ -1052,8 +1019,8 @@ TvDeviceIncreaseTint( IN IXML_Document *in, OUT IXML_Document **out, OUT const c
* char **errorString - errorString (in case action was unsuccessful)
*
*****************************************************************************/
int
TvDeviceDecreaseTint( IN IXML_Document *in, OUT IXML_Document **out, OUT const char **errorString)
int TvDeviceDecreaseTint(IN IXML_Document *in, OUT IXML_Document **out,
OUT const char **errorString)
{
return IncrementTint(-1, in, out, errorString);
}
@ -1073,8 +1040,8 @@ TvDeviceDecreaseTint( IN IXML_Document *in, OUT IXML_Document **out, OUT const c
* char **errorString - errorString (in case action was unsuccessful)
*
****************************************************************************/
int
TvDeviceSetContrast( IN IXML_Document *in, OUT IXML_Document **out, OUT const char **errorString)
int TvDeviceSetContrast(IN IXML_Document *in, OUT IXML_Document **out,
OUT const char **errorString)
{
char *value = NULL;
int contrast = -1;
@ -1086,18 +1053,14 @@ TvDeviceSetContrast( IN IXML_Document *in, OUT IXML_Document **out, OUT const ch
(*errorString) = "Invalid Contrast";
return UPNP_E_INVALID_PARAM;
}
contrast = atoi(value);
if (contrast < MIN_CONTRAST || contrast > MAX_CONTRAST) {
SampleUtil_Print("error: can't change to contrast %d\n",
contrast);
(*errorString) = "Invalid Contrast";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the volume goes here. */
if (TvDeviceSetServiceTableVar(TV_SERVICE_PICTURE,
TV_PICTURE_CONTRAST, value)) {
if (UpnpAddToActionResponse(out, "SetContrast",
@ -1145,23 +1108,20 @@ static int IncrementContrast(
}
ithread_mutex_lock(&TVDevMutex);
curcontrast = atoi( tv_service_table[TV_SERVICE_PICTURE].
VariableStrVal[TV_PICTURE_CONTRAST] );
curcontrast =
atoi(tv_service_table[TV_SERVICE_PICTURE].VariableStrVal
[TV_PICTURE_CONTRAST]);
ithread_mutex_unlock(&TVDevMutex);
newcontrast = curcontrast + incr;
if (newcontrast < MIN_CONTRAST || newcontrast > MAX_CONTRAST) {
SampleUtil_Print("error: can't change to contrast %d\n",
newcontrast);
(*errorString) = "Invalid Contrast";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the channel goes here. */
sprintf(value, "%d", newcontrast);
if (TvDeviceSetServiceTableVar(TV_SERVICE_PICTURE,
TV_PICTURE_CONTRAST, value)) {
if (UpnpAddToActionResponse(out, actionName,
@ -1200,23 +1160,18 @@ int TvDeviceSetBrightness(IXML_Document *in, IXML_Document **out,
(*out) = NULL;
(*errorString) = NULL;
if (!(value = SampleUtil_GetFirstDocumentItem(in, "Brightness"))) {
(*errorString) = "Invalid Brightness";
return UPNP_E_INVALID_PARAM;
}
brightness = atoi(value);
if (brightness < MIN_BRIGHTNESS || brightness > MAX_BRIGHTNESS) {
SampleUtil_Print("error: can't change to brightness %d\n",
brightness);
(*errorString) = "Invalid Brightness";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the volume goes here. */
if (TvDeviceSetServiceTableVar(TV_SERVICE_PICTURE,
TV_PICTURE_BRIGHTNESS, value)) {
if (UpnpAddToActionResponse(out, "SetBrightness",
@ -1263,23 +1218,20 @@ static int IncrementBrightness(
}
ithread_mutex_lock(&TVDevMutex);
curbrightness = atoi( tv_service_table[TV_SERVICE_PICTURE].
VariableStrVal[TV_PICTURE_BRIGHTNESS] );
curbrightness =
atoi(tv_service_table[TV_SERVICE_PICTURE].VariableStrVal
[TV_PICTURE_BRIGHTNESS]);
ithread_mutex_unlock(&TVDevMutex);
newbrightness = curbrightness + incr;
if (newbrightness < MIN_BRIGHTNESS || newbrightness > MAX_BRIGHTNESS) {
SampleUtil_Print("error: can't change to brightness %d\n",
newbrightness);
(*errorString) = "Invalid Brightness";
return UPNP_E_INVALID_PARAM;
}
/* Vendor-specific code to set the channel goes here. */
sprintf(value, "%d", newbrightness);
if (TvDeviceSetServiceTableVar(TV_SERVICE_PICTURE,
TV_PICTURE_BRIGHTNESS, value)) {
if (UpnpAddToActionResponse(out, actionName,
@ -1298,12 +1250,14 @@ static int IncrementBrightness(
in = in;
}
int TvDeviceIncreaseBrightness(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceIncreaseBrightness(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
return IncrementBrightness(1, in, out, errorString);
}
int TvDeviceDecreaseBrightness(IXML_Document *in, IXML_Document **out, const char **errorString)
int TvDeviceDecreaseBrightness(IXML_Document * in, IXML_Document ** out,
const char **errorString)
{
return IncrementBrightness(-1, in, out, errorString);
}
@ -1333,7 +1287,8 @@ int TvDeviceCallbackEventHandler(Upnp_EventType EventType, const void *Event, vo
case UPNP_EVENT_UNSUBSCRIBE_COMPLETE:
break;
default:
SampleUtil_Print("Error in TvDeviceCallbackEventHandler: unknown event type %d\n",
SampleUtil_Print
("Error in TvDeviceCallbackEventHandler: unknown event type %d\n",
EventType);
}
/* Print a summary of the event received */
@ -1353,11 +1308,9 @@ int TvDeviceStart(char *ip_address, unsigned short port,
ithread_mutex_init(&TVDevMutex, NULL);
SampleUtil_Initialize(pfun);
SampleUtil_Print(
"Initializing UPnP Sdk with\n"
SampleUtil_Print("Initializing UPnP Sdk with\n"
"\tipaddress = %s port = %u\n",
ip_address ? ip_address : "{NULL}",
port);
ip_address ? ip_address : "{NULL}", port);
ret = UpnpInit(ip_address, port);
if (ret != UPNP_E_SUCCESS) {
SampleUtil_Print("Error with UpnpInit -- %d\n", ret);
@ -1367,11 +1320,9 @@ int TvDeviceStart(char *ip_address, unsigned short port,
}
ip_address = UpnpGetServerIpAddress();
port = UpnpGetServerPort();
SampleUtil_Print(
"UPnP Initialized\n"
SampleUtil_Print("UPnP Initialized\n"
"\tipaddress = %s port = %u\n",
ip_address ? ip_address : "{NULL}",
port);
ip_address ? ip_address : "{NULL}", port);
if (!desc_doc_name) {
if (combo) {
desc_doc_name = "tvcombodesc.xml";
@ -1388,33 +1339,32 @@ int TvDeviceStart(char *ip_address, unsigned short port,
web_dir_path);
ret = UpnpSetWebServerRootDir(web_dir_path);
if (ret != UPNP_E_SUCCESS) {
SampleUtil_Print(
"Error specifying webserver root directory -- %s: %d\n",
SampleUtil_Print
("Error specifying webserver root directory -- %s: %d\n",
web_dir_path, ret);
UpnpFinish();
return ret;
}
SampleUtil_Print(
"Registering the RootDevice\n"
"\t with desc_doc_url: %s\n",
desc_doc_url);
SampleUtil_Print("Registering the RootDevice\n"
"\t with desc_doc_url: %s\n", desc_doc_url);
ret = UpnpRegisterRootDevice(desc_doc_url, TvDeviceCallbackEventHandler,
&device_handle, &device_handle);
if (ret != UPNP_E_SUCCESS) {
SampleUtil_Print("Error registering the rootdevice : %d\n", ret);
SampleUtil_Print("Error registering the rootdevice : %d\n",
ret);
UpnpFinish();
return ret;
} else {
SampleUtil_Print(
"RootDevice Registered\n"
SampleUtil_Print("RootDevice Registered\n"
"Initializing State Table\n");
TvDeviceStateTableInit(desc_doc_url);
SampleUtil_Print("State Table Initialized\n");
ret = UpnpSendAdvertisement(device_handle, default_advr_expire);
if (ret != UPNP_E_SUCCESS) {
SampleUtil_Print("Error sending advertisements : %d\n", ret);
SampleUtil_Print("Error sending advertisements : %d\n",
ret);
UpnpFinish();
return ret;
@ -1453,10 +1403,8 @@ void *TvDeviceCommandLoop(void *args)
TvDeviceStop();
exit(0);
} else {
SampleUtil_Print(
"\n Unknown command: %s\n\n", cmd);
SampleUtil_Print(
" Valid Commands:\n"
SampleUtil_Print("\n Unknown command: %s\n\n", cmd);
SampleUtil_Print(" Valid Commands:\n"
" Exit\n\n");
}
}
@ -1486,12 +1434,11 @@ int device_main(int argc, char *argv[])
} else if (strcmp(argv[i], "-webdir") == 0) {
web_dir_path = argv[++i];
} else if (strcmp(argv[i], "-help") == 0) {
SampleUtil_Print(
"Usage: %s -ip ipaddress -port port"
SampleUtil_Print("Usage: %s -ip ipaddress -port port"
" -desc desc_doc_name -webdir web_dir_path"
" -help (this message)\n", argv[0]);
SampleUtil_Print(
"\tipaddress: IP address of the device"
SampleUtil_Print
("\tipaddress: IP address of the device"
" (must match desc. doc)\n"
"\t\te.g.: 192.168.0.4\n"
"\tport: Port number to use for"
@ -1510,3 +1457,6 @@ int device_main(int argc, char *argv[])
linux_print, 0);
}
/*! @} Device Sample Module */
/*! @} UpnpSamples */

View File

@ -33,6 +33,14 @@
**************************************************************************/
/*!
* \addtogroup UpnpSamples
*
* @{
*
* \name Device Sample API
*
* @{
*
* \file
*/
@ -47,7 +55,6 @@ extern "C" {
#include "ithread.h"
#include "upnp.h"
#include "UpnpUniStd.h" /* for close() */
#include <stdlib.h>
#include <string.h>
@ -557,5 +564,8 @@ int device_main(int argc, char *argv[]);
}
#endif
#endif
/*! @} Control Point Sample API */
/*! @} UpnpSamples */
#endif /* UPNP_TV_DEVICE_H */