Пример #1
0
CgUpnpDevice *upnp_clock_device_new()
{
    CgUpnpDevice *clockDev;
    CgUpnpService *timeService;

    clockDev = cg_upnp_device_new();

    if (cg_upnp_device_parsedescription(clockDev, CLOCK_DEVICE_DESCRIPTION, strlen(CLOCK_DEVICE_DESCRIPTION)) == FALSE) {
        cg_upnp_device_delete(clockDev);
        return NULL;
    }

    timeService = cg_upnp_device_getservicebyexacttype(clockDev, "urn:schemas-upnp-org:service:timer:1");
    if (timeService == NULL) {
        cg_upnp_device_delete(clockDev);
        return NULL;
    }

    if (cg_upnp_service_parsedescription(timeService, CLOCK_SERVICE_DESCRIPTION, strlen(CLOCK_SERVICE_DESCRIPTION)) == FALSE) {
        cg_upnp_device_delete(clockDev);
        return NULL;
    }

    cg_upnp_device_setactionlistener(clockDev, upnp_clock_actionreceived);
    cg_upnp_device_setquerylistener(clockDev, upnp_clock_queryreceived);
    cg_upnp_device_sethttplistener(clockDev, upnp_clock_device_httprequestrecieved);

    return clockDev;
}
Пример #2
0
char* cg_upnpav_dmr_getcurrentconnectionids(CgUpnpAvRenderer* dmr)
{
  CgUpnpService* service;
  CgUpnpStateVariable* stateVar;

  service = cg_upnp_device_getservicebyexacttype(dmr->dev, CG_UPNPAV_DMR_CONNECTIONMANAGER_SERVICE_TYPE);
  stateVar = cg_upnp_service_getstatevariablebyname(service, CG_UPNPAV_DMR_CONNECTIONMANAGER_CURRENTCONNECTIONIDS);
  return cg_upnp_statevariable_getvalue(stateVar);
}
Пример #3
0
void upnp_clock_device_update(CgUpnpDevice *clockDev)
{
    CgTime currTime;
    CgUpnpService *timeService;
    CgUpnpStateVariable *timeState;
    char sysTimeStr[SYSTEM_TIME_BUF_LEN];

    timeService = cg_upnp_device_getservicebyexacttype(clockDev, "urn:schemas-upnp-org:service:timer:1");
    if (timeService == NULL)
        return;

    timeState = cg_upnp_service_getstatevariablebyname(timeService, "Time");
    if (timeState == NULL)
        return;

    currTime = cg_getcurrentsystemtime();
    GetSystemTimeString(currTime, sysTimeStr);
    cg_upnp_statevariable_setvalue(timeState, sysTimeStr);

    printf("%s\n", sysTimeStr);
}
Пример #4
0
void cg_upnpav_dmr_addprotocolinfo(CgUpnpAvRenderer* dmr, CgUpnpAvProtocolInfo* info)
{
  CgString* protocolInfos;
  CgUpnpAvProtocolInfo* protocolInfo;
  CgUpnpService* service;
  CgUpnpStateVariable* stateVar;

  cg_upnpav_protocolinfolist_add(dmr->protocolInfoList, info);

  protocolInfos = cg_string_new();
  for (protocolInfo = cg_upnpav_dmr_getprotocolinfos(dmr); protocolInfo; protocolInfo = cg_upnpav_protocolinfo_next(protocolInfo)) {
    if (0 < cg_string_length(protocolInfos))
      cg_string_addvalue(protocolInfos, ",");
    cg_string_addvalue(protocolInfos, cg_upnpav_protocolinfo_getstring(protocolInfo));
  }

  service = cg_upnp_device_getservicebyexacttype(dmr->dev, CG_UPNPAV_DMR_CONNECTIONMANAGER_SERVICE_TYPE);
  stateVar = cg_upnp_service_getstatevariablebyname(service, CG_UPNPAV_DMR_CONNECTIONMANAGER_SINKPROTOCOLINFO);
  cg_upnp_statevariable_setvalue(stateVar, cg_string_getvalue(protocolInfos));

  cg_string_delete(protocolInfos);
}