Pphilippe441.2.1
84fa584e创建于 2023年9月27日历史提交
/*
 *  UPnP renderer utils
 *
 *	(c) Philippe, philippe_44@outlook.com
 *
 *  See LICENSE
 *
 */

#pragma once

#include "airupnp.h"

void 		FlushMRDevices(void);
void 		DelMRDevice(struct sMR *p);
struct sMR *GetMaster(struct sMR *Device, char **Name);
int 		CalcGroupVolume(struct sMR *Master);
bool		CheckAndLock(struct sMR *Device);
double		GetLocalGroupVolume(struct sMR *Member, int *count);

struct sMR*  SID2Device(const UpnpString *SID);
struct sMR*  CURL2Device(const UpnpString *CtrlURL);
struct sMR*  PURL2Device(const UpnpString *URL);
struct sMR*  UDN2Device(const char *SID);

struct sService* EventURL2Service(const UpnpString *URL, struct sService *s);

int  XMLFindAndParseService(IXML_Document* DescDoc, const char* location, const char* serviceTypeBase, char** serviceType, 
                            char** serviceId, char** eventURL, char** controlURL, char** serviceURL);
bool  XMLFindAction(const char* base, char* service, char* action);
char* XMLGetChangeItem(IXML_Document *doc, char *Tag, char *SearchAttr, char *SearchVal, char *RetAttr);

char* uPNPEvent2String(Upnp_EventType S);