Sådära, nu har jag fått lite mer tid över..
Nu är TCP-stöd i klientlibbet commitat (
https://github.com/stromnet/telldus/com ... a254f5a1a4).
Det krävde lite förändringar i koden (läs commitmsg), men för användare av libbet så finns det en ny funktion, tdInitWithSocketSpec(char* clientSocket, char* eventSocket), som kan användas för att initiera libbet för att köra mot en specifik socket ist. tdInit() finns fortfarande och sätter då upp libbet mot default-sockets.
Inget stöd för att läsa settings dock, nuvarande koden är ju så tied till service-biten så vill inte börja copypasta in dublett-kod på klientsidan, isf bör det nog refactoras till common först.
Notera att tdInitWithSocketSpec endast exponeras i UNIX-varianten, i Windows-libbet har jag dolt den då bakomliggande kod saknas f.n.
tdtool har en ny parameter --socket, som kan användas för att speca Client-socket. Då event-socket ej används av tdtool saknas en sådan parameter.
Även stöd för att ladda defaults i CF-settings (
https://github.com/stromnet/telldus/com ... 6d30c7c76f), så nu funkar koden på OSX igen, iaf med default-sockets. Har däremot inte hittat något sätt att skriva till CF-preferences i kCFPreferencesAnyUser-domänet. Inställningarna sparas ju i /Library/Preferences/com.telldus.core.plist, men lyckas inte få 'defaults'-verktyget att skriva/läsa därifrån.. Men en fuling funkar:
Code: Select all
defaults write com.telldus.core clientSocket tcp://0.0.0.0:9998
defaults write com.telldus.core eventSocket tcp://0.0.0.0:9999
sudo cp ~/Library/Preferences/com.telldus.core.plist /Library/Preferences/
Alltså, skriver värdena till lokala userns pref, och sen kopierar dom till globala. Med detta funkar TCP-sockets fint på OSX också, ex nedan med nya tdtool-parametern socket:
Code: Select all
$ ./tdtool/tdtool --socket tcp://0.0.0.0:9998 --list
Number of devices: 1
1 TELLDUSTEST OFF
4 funderingar:
* Hur gör man snyggast för att client-lib skall kunna läsa ut settings?
* Hur gör man snyggast för att man skall kunna göra extern config på OS X?
* Vad tyckts om interna förändringarna i Client?
* Någon som är sugen på att ta sig an Windows-bitarna?

Jag har tyvärr ingen Windows-miljö att utveckla i, så det är nog inte så troligt att jag kan ordna det.
Glad påsk!