Hi, I am also interested in Android port. Maybe it's better to base the port on spice-gtk which is written in C?
BR Bitman Zhou 在 2011-03-04五的 15:38 +0800,Shuxiang Lim写道: > Hi all, > I'm trying these days to port spicec into Android.But it's a rather > TOUGH way to go because the structure of spicec and android are > desperately inappropriate:the linux version of spicec is based on the > X11,which is not available in Android,thus the UI of spicec should be > rewritten from scratch...More troublesome is that the UI part and data > part in current spicec is entangled in the hierarchical system in C++! > So my plan is this: first split the spicec into two parts,data and > UI,transform the data part into libspicec.so;then rewrite the UI part > in JAVA. Besides, I should also tinker some problems caused by the > Crippled NDK C++ support and the Lamed bionic c lib in android . > And now the first step is roughly done,hence the change of the > spicec structure: > From > > |-->playback thread > |-->cursor > thread > spicec:spicec process(application process)-->main thread->|-->record > thread > |-->inputs > thread > > |-->display thread > To: > ===========================> > |-->libspicec.so:application thread-->main > thread------>| > | > | > | |<--display thread<--| > | > | |--->|<--cursor > thread<---|<------------------| > | | |<--inputs thread<---| > spicec:spicec process--->| | |<--playback thread<-| > | | > | | > | > |<---------------------------------------------| > | > | > | > | > |-->spicec:platform > thread------------------------------>| > > The hierarchical relationship has been unleashed with one > thread(record channel) deleted and two new threads (app and platform) > created. The first as the "data thread",the other as the "work thread" > which is driven by the signals from the first thread as well as its > sub threads and requested to do the UI-related work: > > platform thread:------------>blocked and waiting:-->job > request-<--------------| > | | > | > ^ | > | > | | > | > |<----------|-<-| > | > | | > | > platform thread over<----------if(job==die)<--| send req. > blocked and waiting > | ^ | > | > | | | > ^ > | | | > _________|_________ > | | | > | app/plbk/cusor thd > |<---job done----dojob()<--else--| | |->go > on->| __________________ > | | > |------------------------------->feed back-->| > > > So the next work is to expose the native JNI interface in platform > thread to the UI written in Android SDK. I try to use the UI > frame of AndroidVNCViewer in > code.google.com/p/android-vnc-viewer/ ,then the work of platform > thread will be replaced by UI but the msg communication to libspicec > will be remained. That's the easiest way I can envisage except > rewriting all parts in spicec from scratch. > It's tough too, for I have poor experiance in Java... > Anyway, is there any other guy working on this? Is my way > feasible??Any Ideas or help is appreciated. > Best regards. > > > _______________________________________________ > Spice-devel mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/spice-devel
