mirror of
https://github.com/DigitalDevices/octonet.git
synced 2023-10-10 11:36:52 +00:00
added octoserve
This commit is contained in:
80
octoserve/var/dms/MediaReceiverRegistrar.lua
Normal file
80
octoserve/var/dms/MediaReceiverRegistrar.lua
Normal file
@@ -0,0 +1,80 @@
|
||||
|
||||
MediaReceiverRegistrar = {}
|
||||
|
||||
function MediaReceiverRegistrar:Description()
|
||||
t = ""
|
||||
local f = io.open("MediaReceiverRegistrar.xml","r")
|
||||
if not f then os.exit() end
|
||||
while true do
|
||||
local line = f:read()
|
||||
if not line then break end
|
||||
t = t .. line .. "\r\n"
|
||||
end
|
||||
f:close()
|
||||
return t
|
||||
end
|
||||
|
||||
local function SendResult(client,Action,Result)
|
||||
local Args = { { n = "Result", v = Result } }
|
||||
UPnP:SendResponse(client,UPnP:CreateResponse('xmlns:u="urn:microsoft-com:service:X_MS_MediaReceiverRegistrar:1"',Action,Args))
|
||||
end
|
||||
|
||||
|
||||
function MediaReceiverRegistrar:Invoke(client,Attributes,Request)
|
||||
local Action = string.match(Attributes["SOAPACTION"],".+%#(%a+)")
|
||||
print("MediaReceiverRegistrar",Action)
|
||||
if Action == "IsAuthorized" then
|
||||
SendResult(client,Action,"1")
|
||||
-- UPnP:SendSoapError(client,402)
|
||||
elseif Action == "IsValidated" then
|
||||
SendResult(client,Action,"1")
|
||||
else
|
||||
UPnP:SendSoapError(client,401)
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
function MediaReceiverRegistrar:Subscribe(client,callback,timeout)
|
||||
local r = "HTTP/1.1 200 OK\r\n"
|
||||
.. 'Content-Type: text/xml; charset="utf-8"\r\n'
|
||||
.. "Server: "..UPnP.Server.."\r\n"
|
||||
.. "SID: uuid:50c95802-e839-4b96-b7ae-779d989e1399\r\n"
|
||||
.. "Timeout: Second-1800\r\n"
|
||||
.. "Content-Length: 0\r\n"
|
||||
.. "Connection: close\r\n"
|
||||
.. "EXT:\r\n"
|
||||
.. "\r\n"
|
||||
client:send(r)
|
||||
|
||||
local ipaddr,port = client:getpeername()
|
||||
UPnP:SendEvent(callback,"50c95802-e839-4b96-b7ae-779d989e1399",0,{} )
|
||||
end
|
||||
|
||||
function MediaReceiverRegistrar:Renew(client,sid,timeout)
|
||||
local r = "HTTP/1.1 200 OK\r\n"
|
||||
.. 'Content-Type: text/xml; charset="utf-8"\r\n'
|
||||
.. "Server: "..UPnP.Server.."\r\n"
|
||||
.. "SID: uuid:50c95802-e839-4b96-b7ae-779d989e1399\r\n"
|
||||
.. "Timeout: Second-1800\r\n"
|
||||
.. "Content-Length: 0\r\n"
|
||||
.. "Connection: close\r\n"
|
||||
.. "EXT:\r\n"
|
||||
.. "\r\n"
|
||||
client:send(r)
|
||||
end
|
||||
|
||||
function MediaReceiverRegistrar:Unsubscribe(client,sid)
|
||||
local r = "HTTP/1.1 200 OK\r\n"
|
||||
.. "Server: "..UPnP.Server.."\r\n"
|
||||
.. "Connection: close\r\n"
|
||||
.. "\r\n"
|
||||
client:send(r)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
return MediaReceiverRegistrar
|
||||
Reference in New Issue
Block a user