Registrierung Mitgliederliste Administratoren und Moderatoren Suche Häufig gestellte Fragen Zur Startseite  

DsChAeK Forum » dboxTV » Developers » Open Source: dboxTV Box Interface DLLs » Hallo Gast [anmelden|registrieren]
Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
DsChAeK DsChAeK ist männlich
Administrator




Dabei seit: 14.09.2007
Beiträge: 1403

Open Source: dboxTV Box Interface DLLs Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       IP Information Zum Anfang der Seite springen

Ich habe jetzt die aktuellen DLLs als Open Source Projekt gehostet.

dboxTV - Box Interface DLLs

__________________
dboxTV
Philips D-Box2 (SAT)
BluePeer v1.2.1
yWeb v2.7.0.4
nhttpd/3.1.8 (yhttpd_core/1.2.0)
VLC v0.8.6h
WinXP SP2

01.08.2010 10:45 DsChAeK ist offline Email an DsChAeK senden Homepage von DsChAeK Beiträge von DsChAeK suchen Nehmen Sie DsChAeK in Ihre Freundesliste auf
DsChAeK DsChAeK ist männlich
Administrator




Dabei seit: 14.09.2007
Beiträge: 1403

Info Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       IP Information Zum Anfang der Seite springen

Source-Info:

This DLL enables the communication between dboxTV and D-Box2 Neutrino.
It may be used as a template for other box interfaces.
This DLL provides functionality for the current selected box in dboxTV!
All transfered data types are compatible with other languages, so you
don't have to use delphi and this code! All functions use stdcall!

data flow: dboxTV -> DLL -> box webinterface -> dboxTV

-> e.g. dboxTV wants the current channel id
1. dboxTV calls the DLL function GetCurrentChannelID()
2. DLL function calls GetURL(URL_DBOX_ZAPTO) and returns the data to dboxTV
3. dboxTV uses the data in context

All functions were created in relationship to neutrino/neutrinoHD so there
is a high possibility to miss a function or parameter which is needed for
other interfaces and future use.
If you miss something plz send me an email to admin@dschaek.de or visit
my developer forum http:forum.dschaek.de/board.php?boardid=30

To transfer bouquet data between dll and application, dboxTV will give
you some function pointers with the Init() function which you have to
use for adding bouquets/channels and channelprograms (e.g. AddBouquet()).
The function pointers are declared in UntDataDLL.pas.

To understand the function-handling you have to know the structure:

bouquet 1 (AddBouquet(Bouquet1))
|
channel 1 (AddChannel(Bouquet1Index, Channel))
|
channelprogram 1 (AddChannelProgram(ChannelIndex, ChannelProgram))
channelprogram 2 (AddChannelProgram(ChannelIndex, ChannelProgram))
...
|
channel 2 (AddChannel(Bouquet1Index, Channel))
...

bouquet 2 (AddBouquet(Bouquet2))
...

These functions, except AddChannelProgram(), will log the given data in
dboxTV if 'Log HTTP' is enabled. For AddChannelProgram() you have
to enable 'Log EPG' in dboxTV->Options->Advanced.
You can always log directly into the 'dboxTV.log' via Log(), you
don't need to implement your own logging.

There are also function pointers for http/regex/telnet functionality of dboxTV
you can use, but you don't have to:

1.) HTTP
Have a look ar UntHttpClient.pas and Init() to understand how you can
get data from your box via http communication over the dboxTV http client.
It is based on TIEHTTPD from Kyriacos Michael, which is using the wininet.dll.
Html special chars and utf8 will be translated automatically.

2.) REGEX
All parsing is done via regex functionality of dboxTV and with a little
'know how' it is very adaptable to other circumstances.
dboxTV uses TRegExpr from Andrey V. Sorokin (http:anso.virtualave.net/)
I recommend using "TestRegExp.exe" to find the best way parsing data, if
it is working there, it will be working inside this dll.
Plz have a look at UntRegEx.pas header info to understand how TRegExpr
works and how to implement the dboxTV functions.
Html special chars and utf8 will be translated automatically.

3.) TELNET
Just a Function to send a command to the dboxTV telnet console
(login in dboxTV required)

Important: -All box functions should be implemented completely and correctly or
dboxTV shows undefined behaviour!
-The http client used in dboxTV is not thread safe so therefore the
FktGetURL_EPG is needed.
-dboxTV telnet component is asynchron, so you have to use a delay!

Files: -dboxTV_neutrino.dpr -> all dll functions and export
-UntURL.pas -> box specific urls
-UntHelpers.pas -> useful string handling functions
-UntHttpClient.pas -> http request handling using dboxTV functions
-UntRegEx.pas -> regex handling using dboxTV functions
-UntDataDLL.pas -> data structures/function pointers for exchange
with dboxTV



Übersicht über die Funktionen, die implementiert werden müssen:

Init
InitHttp
InitRegEx
Close
Check

GetBoxName
GetDLLAuthor
GetDLLVersion

GetTime
GetRecordMode
GetSPTSMode
SetSPTSMode
SetMessageOnTv
SetRCLock
SetRCUnlock
GetBoxMode
SetBoxMode
GetStreamInfo
GetStreamURL
SetUDPStreamStop
SetZapChannel
GetSubChannels
SetRCEMKey
GetCurrentChannelID
SetShutdown
SetStandby
SetWakeUp
SetReboot
GetOSDShot
GetBouquets
GetEPGCurrentChannels
GetEPGChannel

__________________
dboxTV
Philips D-Box2 (SAT)
BluePeer v1.2.1
yWeb v2.7.0.4
nhttpd/3.1.8 (yhttpd_core/1.2.0)
VLC v0.8.6h
WinXP SP2

16.11.2011 07:44 DsChAeK ist offline Email an DsChAeK senden Homepage von DsChAeK Beiträge von DsChAeK suchen Nehmen Sie DsChAeK in Ihre Freundesliste auf
 
Neues Thema erstellen Antwort erstellen
Gehe zu:

Powered by Burning Board Lite 1.0.2 © 2001-2004 WoltLab GmbH