[gtk-vnc] Split up library into libgvnc.so (GObject) bits and libgtk-vnc.so (GTK widget)



commit 5827ecdb1e6dc4093bfa3302bddda836607a5161
Author: Daniel P. Berrange <berrange redhat com>
Date:   Sun Dec 13 21:03:04 2009 +0000

    Split up library into libgvnc.so (GObject) bits and libgtk-vnc.so (GTK widget)
    
    The libgvnc.so library comprises the classes
    
      VncConnection
      VncPixelFormat
      VncFramebuffer
      VncBaseFramebuffer
      VncCursor
      VncConnection
    
    This only depends on glib, gobject and gdk-pixbuf
    
    The libgtk-vnc.so library comprises the classes
    
      VncDisplay
      VncImageFramebuffer
    
    Adding a dependancy on GTK

 Makefile.am                |    3 +-
 configure.ac               |   25 +++++--
 gtk-vnc-1.0.pc.in          |    2 +-
 gtk-vnc.spec.in            |   41 ++++++++++-
 gvnc-1.0.pc.in             |   11 +++
 mingw32-gtk-vnc.spec.in    |   18 +++++-
 src/Makefile.am            |  162 ++++++++++++++++++++++++++++----------------
 src/libgtk-vnc_sym.version |    4 +
 src/libgvnc_sym.version    |   65 ++++++++++++++++++
 src/vncconnection.c        |    2 -
 10 files changed, 258 insertions(+), 75 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 6a408c2..9a8278a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,10 +1,11 @@
 SUBDIRS = gnulib/lib src examples plugin gnulib/tests po
 ACLOCAL_AMFLAGS = -I m4 -I gnulib/m4
 
-pkgconfig_DATA = @PACKAGE -1 0 pc
+pkgconfig_DATA = @PACKAGE -1 0 pc gvnc-1.0.pc
 pkgconfigdir = $(libdir)/pkgconfig
 
 EXTRA_DIST =				\
+	gvnc-1.0.pc.in			\
 	$(PACKAGE)-1.0.pc.in		\
 	$(PACKAGE).spec.in		\
 	$(PACKAGE).spec			\
diff --git a/configure.ac b/configure.ac
index 132b6fe..84903b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,6 +18,10 @@ dnl ****************************************************************************
 dnl Declare required library versions
 dnl *******************************************************************************
 
+GOBJECT_REQUIRED=2.10.0
+AC_SUBST(GOBJECT_REQUIRED)
+GDK_PIXBUF_REQUIRED=2.10.0
+AC_SUBST(GDK_PIXBUF_REQUIRED)
 GTK_REQUIRED=2.14.0
 AC_SUBST(GTK_REQUIRED)
 GNUTLS_REQUIRED=1.4.0
@@ -91,14 +95,18 @@ WITH_EXAMPLES=$withval
 
 
 dnl check ld support --version-script
-ld --help>/tmp/$$ 2>&1
-if `cat /tmp/$$|grep version-script>/dev/null 2>&1`; then
-LD_VERSION_SCRIPT_SUPPORT='--version-script=$(srcdir)/libgtk-vnc_sym.version'
-else
-LD_VERSION_SCRIPT_SUPPORT="export-symbols-regex 'vnc_'"
-fi
-rm /tmp/$$
-AC_SUBST(LD_VERSION_SCRIPT_SUPPORT)
+VERSION_SCRIPT_FLAGS=-Wl,--version-script=
+`ld --help 2>&1 | grep -- --version-script >/dev/null` || \
+    VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
+AC_SUBST(VERSION_SCRIPT_FLAGS)
+
+PKG_CHECK_MODULES(GOBJECT, gobject-2.0 >= $GOBJECT_REQUIRED)
+AC_SUBST(GTK_CFLAGS)
+AC_SUBST(GTK_LIBS)
+
+PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED)
+AC_SUBST(GDK_PIXBUF_CFLAGS)
+AC_SUBST(GDK_PIXBUF_LIBS)
 
 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED)
 AC_SUBST(GTK_CFLAGS)
@@ -302,6 +310,7 @@ AC_CONFIG_FILES(
   examples/Makefile
   plugin/Makefile
   po/Makefile.in
+  gvnc-1.0.pc
   gtk-vnc-1.0.pc
   gtk-vnc.spec
   mingw32-gtk-vnc.spec
diff --git a/gtk-vnc-1.0.pc.in b/gtk-vnc-1.0.pc.in
index 4aa5eb8..1f9af79 100644
--- a/gtk-vnc-1.0.pc.in
+++ b/gtk-vnc-1.0.pc.in
@@ -5,7 +5,7 @@ includedir= includedir@
 
 Name: GTK-VNC
 Description: GTK widget for a VNC client
-Requires: gtk+-2.0 >= @GTK_REQUIRED@, gnutls >= @GNUTLS_REQUIRED@
+Requires: gvnc-1.0 = @VERSION@, gtk+-2.0 >= @GTK_REQUIRED@
 Version: @VERSION@
 Libs: -L${libdir} -lgtk-vnc-1.0
 Cflags: -I${includedir}/gtk-vnc-1.0
diff --git a/gtk-vnc.spec.in b/gtk-vnc.spec.in
index 810d15d..ded3905 100644
--- a/gtk-vnc.spec.in
+++ b/gtk-vnc.spec.in
@@ -31,7 +31,7 @@ allowing it to be completely asynchronous while remaining single threaded.
 %package devel
 Summary: Libraries, includes, etc. to compile with the gtk-vnc library
 Group: Development/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
 Requires: pkgconfig
 Requires: pygtk2-devel gtk2-devel
 
@@ -66,6 +66,27 @@ This package provides a web browser plugin for Mozilla compatible
 browsers.
 %endif
 
+%package -n gvnc
+Summary: A GObject for VNC connections
+
+%description -n gvnc
+gvnc is a GObject for managing a VNC connection. It provides all the
+infrastructure required to build a VNC client without having to deal
+with the raw protocol itself.
+
+%package -n gvnc-devel
+Summary: Libraries, includes, etc. to compile with the gvnc library
+Group: Development/Libraries
+Requires: gvnc = %{version}-%{release}
+Requires: pkgconfig
+
+%description -n gvnc-devel
+gvnc is a GObject for managing a VNC connection. It provides all the
+infrastructure required to build a VNC client without having to deal
+with the raw protocol itself.
+
+Libraries, includes, etc. to compile with the gvnc library
+
 %prep
 %setup -q
 
@@ -100,14 +121,13 @@ rm -fr %{buildroot}
 %files -f %{name}.lang
 %defattr(-, root, root)
 %doc AUTHORS ChangeLog NEWS README COPYING.LIB
-%{_libdir}/lib*.so.*
+%{_libdir}/libgtk-vnc-1.0.so.*
 
 %files devel
 %defattr(-, root, root)
 %doc AUTHORS ChangeLog NEWS README COPYING.LIB
 %doc examples/gvncviewer.c
-%{_libdir}/lib*.so
-%dir %{_includedir}/%{name}-1.0/
+%{_libdir}/libgtk-vnc-1.0.so
 %{_includedir}/%{name}-1.0/*.h
 %{_libdir}/pkgconfig/%{name}-1.0.pc
 
@@ -123,6 +143,19 @@ rm -fr %{buildroot}
 %{_libdir}/mozilla/plugins/%{name}-plugin.so
 %endif
 
+%files -n gvnc
+%defattr(-, root, root)
+%doc AUTHORS ChangeLog NEWS README COPYING.LIB
+%{_libdir}/libgvnc-1.0.so.*
+
+%files -n gvnc-devel
+%defattr(-, root, root)
+%doc AUTHORS ChangeLog NEWS README COPYING.LIB
+%{_libdir}/libgvnc-1.0.so
+%dir %{_includedir}/%{name}-1.0/
+%{_includedir}/gvnc-1.0/*.h
+%{_libdir}/pkgconfig/gvnc-1.0.pc
+
 %changelog
 * Thu Sep 13 2007 Daniel P. Berrange <berrange redhat com> - 0.2.0-1
 - Support client cursor offload
diff --git a/gvnc-1.0.pc.in b/gvnc-1.0.pc.in
new file mode 100644
index 0000000..da95b65
--- /dev/null
+++ b/gvnc-1.0.pc.in
@@ -0,0 +1,11 @@
+prefix= prefix@
+exec_prefix= exec_prefix@
+libdir= libdir@
+includedir= includedir@
+
+Name: GVNC
+Description: GObject for VNC client connections
+Requires: gobject-2.0 >= @GOBJECT_REQUIRED@
+Version: @VERSION@
+Libs: -L${libdir} -lgvnc-1.0
+Cflags: -I${includedir}/gvnc-1.0
diff --git a/mingw32-gtk-vnc.spec.in b/mingw32-gtk-vnc.spec.in
index a2af672..fedf4c6 100644
--- a/mingw32-gtk-vnc.spec.in
+++ b/mingw32-gtk-vnc.spec.in
@@ -29,11 +29,18 @@ BuildRequires:  automake
 BuildRequires:  libtool
 BuildRequires:  pkgconfig
 
+%package -n mingw32-gvnc
+Summary: MinGW Windows port of VNC GObject
+
 
 %description
 gtk-vnc is a VNC viewer widget for GTK. It is built using coroutines
 allowing it to be completely asynchronous while remaining single threaded.
 
+%description -n mingw32-gvnc
+gvnc is a GObject for managing a VNC connection. It provides all the
+infrastructure required to build a VNC client without having to deal
+with the raw protocol itself.
 
 %prep
 %setup -q -n gtk-vnc-%{version}
@@ -49,6 +56,7 @@ make DESTDIR=$RPM_BUILD_ROOT install
 
 # Remove static libraries but DON'T remove *.dll.a files.
 rm $RPM_BUILD_ROOT%{_mingw32_libdir}/libgtk-vnc-1.0.a
+rm $RPM_BUILD_ROOT%{_mingw32_libdir}/libgvnc-1.0.a
 
 %find_lang gtk-vnc
 
@@ -56,7 +64,7 @@ rm $RPM_BUILD_ROOT%{_mingw32_libdir}/libgtk-vnc-1.0.a
 rm -rf $RPM_BUILD_ROOT
 
 
-%files -f gtk-vnc.lang
+%files -f gtk-vnc.lang -n mingw32-gvnc
 %defattr(-,root,root)
 %{_mingw32_bindir}/gvncviewer.exe
 %{_mingw32_bindir}/libgtk-vnc-1.0-0.dll
@@ -65,6 +73,14 @@ rm -rf $RPM_BUILD_ROOT
 %{_mingw32_libdir}/pkgconfig/gtk-vnc-1.0.pc
 %{_mingw32_includedir}/gtk-vnc-1.0
 
+%files
+%defattr(-,root,root)
+%{_mingw32_bindir}/libgvnc-1.0-0.dll
+%{_mingw32_libdir}/libgvnc-1.0.dll.a
+%{_mingw32_libdir}/libgvnc-1.0.la
+%{_mingw32_libdir}/pkgconfig/gvnc-1.0.pc
+%{_mingw32_includedir}/gvnc-1.0
+
 
 %changelog
 * Sun Dec  7 2008 Daniel P. Berrange <berrange redhat com> - 0.3.7-1
diff --git a/src/Makefile.am b/src/Makefile.am
index 8aa61eb..5ec4e79 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,56 +1,102 @@
 
-EXTRA_DIST = libgtk-vnc_sym.version vncmarshal.txt
-
-lib_LTLIBRARIES = libgtk-vnc-1.0.la
-
-libgtk_vnc_1_0_la_LIBADD = @GTK_LIBS@ @GNUTLS_LIBS@ \
-			   @GTHREAD_LIBS@ @SASL_LIBS@ \
-			   @X11_LIBS@ \
-                           ../gnulib/lib/libgnu.la
-libgtk_vnc_1_0_la_CFLAGS = @GTK_CFLAGS@ @GNUTLS_CFLAGS@ \
-			   @GTHREAD_CFLAGS@ @SASL_CFLAGS@ @WARNING_CFLAGS@ \
-			   @X11_CFLAGS@ \
-			   -DSYSCONFDIR=\""$(sysconfdir)"\" \
-			   -DPACKAGE_LOCALE_DIR=\""$(datadir)/locale"\" \
-                           -DG_LOG_DOMAIN=\"gtk-vnc\" \
-                           -I$(top_srcdir)/gnulib/lib -I../gnulib/lib
-libgtk_vnc_1_0_la_LDFLAGS = -Wl,@LD_VERSION_SCRIPT_SUPPORT@ \
-                            -version-info 0:1:0 -Wl,--no-undefined
-
-gtk_vnc_includedir = $(includedir)/gtk-vnc-1.0/
-gtk_vnc_include_HEADERS = vncdisplay.h
-
-libgtk_vnc_1_0_la_SOURCES = blt.h blt1.h \
-	coroutine.h \
-	d3des.h d3des.c \
-	dh.h dh.c \
-	vncpixelformat.h \
-	vncframebuffer.h vncframebuffer.c \
-	vncbaseframebufferblt.h \
-	vncbaseframebuffer.h vncbaseframebuffer.c \
-	vncimageframebuffer.h vncimageframebuffer.c \
-	vnccursor.h vnccursor.c \
-	vncconnection.h vncconnection.c \
-	vncconnectionenums.h vncconnectionenums.c \
-	vncdisplay.h vncdisplay.c \
-	vncdisplayenums.h vncdisplayenums.c \
-	vncdisplaykeymap.h vncdisplaykeymap.c \
-	vncmarshal.h vncmarshal.c \
-	vncutil.h vncutil.c
+EXTRA_DIST = libgvnc_sym.version libgtk-vnc_sym.version vncmarshal.txt
+
+lib_LTLIBRARIES = libgvnc-1.0.la libgtk-vnc-1.0.la
+
+libgvnc_1_0_la_LIBADD = \
+			@GOBJECT_LIBS@ \
+			@GTHREAD_LIBS@ \
+			@GDK_PIXBUF_LIBS@ \
+			@GNUTLS_LIBS@ \
+			@SASL_LIBS@ \
+			../gnulib/lib/libgnu.la
+libgvnc_1_0_la_CFLAGS = \
+			@GOBJECT_CFLAGS@ \
+			@GTHREAD_CFLAGS@ \
+			@GDK_PIXBUF_CFLAGS@ \
+			@GNUTLS_CFLAGS@ \
+			@SASL_CFLAGS@ \
+			@WARNING_CFLAGS@ \
+			-DSYSCONFDIR=\""$(sysconfdir)"\" \
+			-DPACKAGE_LOCALE_DIR=\""$(datadir)/locale"\" \
+			-DG_LOG_DOMAIN=\"gvnc\" \
+			-I$(top_srcdir)/gnulib/lib \
+			-I../gnulib/lib
+libgvnc_1_0_la_LDFLAGS = \
+			@VERSION_SCRIPT_FLAGS $(srcdir)/libgvnc_sym.version \
+			-version-info 0:1:0 -Wl,-no-undefined
+
+gvnc_includedir = $(includedir)/gvnc-1.0/
+gvnc_include_HEADERS = \
+			vncpixelformat.h \
+			vncframebuffer.h \
+			vncbaseframebuffer.h \
+			vnccursor.h \
+			vncconnection.h \
+			vncconnectionenums.h \
+			vncutil.h
+
+libgvnc_1_0_la_SOURCES = \
+			coroutine.h \
+			d3des.h d3des.c \
+			dh.h dh.c \
+			vncpixelformat.h \
+			vncframebuffer.h vncframebuffer.c \
+			vncbaseframebufferblt.h \
+			vncbaseframebuffer.h vncbaseframebuffer.c \
+			vnccursor.h vnccursor.c \
+			vncconnection.h vncconnection.c \
+			vncconnectionblt.h \
+			vncconnectionenums.h vncconnectionenums.c \
+			vncmarshal.h vncmarshal.c \
+			vncutil.h vncutil.c
 
 if WITH_UCONTEXT
-libgtk_vnc_1_0_la_SOURCES += continuation.h continuation.c coroutine_ucontext.c
+libgvnc_1_0_la_SOURCES += continuation.h continuation.c coroutine_ucontext.c
 EXTRA_DIST += coroutine_gthread.c
 else
-libgtk_vnc_1_0_la_SOURCES += coroutine_gthread.c
+libgvnc_1_0_la_SOURCES += coroutine_gthread.c
 EXTRA_DIST += continuation.h continuation.c coroutine_ucontext.c
 endif
 
+
+
+libgtk_vnc_1_0_la_LIBADD = \
+			@GTK_LIBS@ \
+			@X11_LIBS@ \
+			libgvnc-1.0.la \
+			../gnulib/lib/libgnu.la
+libgtk_vnc_1_0_la_CFLAGS = \
+			@GTK_CFLAGS@ \
+			@X11_CFLAGS@ \
+			@WARNING_CFLAGS@ \
+			-DSYSCONFDIR=\""$(sysconfdir)"\" \
+			-DPACKAGE_LOCALE_DIR=\""$(datadir)/locale"\" \
+			-DG_LOG_DOMAIN=\"gtk-vnc\" \
+			-I$(top_srcdir)/gnulib/lib \
+			-I../gnulib/lib
+libgtk_vnc_1_0_la_LDFLAGS = \
+			@VERSION_SCRIPT_FLAGS $(srcdir)/libgtk-vnc_sym.version \
+			-version-info 0:1:0 -Wl,-no-undefined
+
+gtk_vnc_includedir = $(includedir)/gtk-vnc-1.0/
+gtk_vnc_include_HEADERS = \
+			vncdisplay.h \
+			vncdisplayenums.h \
+			vncimageframebuffer.h
+
+libgtk_vnc_1_0_la_SOURCES = \
+			vncimageframebuffer.h vncimageframebuffer.c \
+			vncdisplay.h vncdisplay.c \
+			vncdisplayenums.h vncdisplayenums.c \
+			vncdisplaykeymap.h vncdisplaykeymap.c \
+			vncmarshal.h vncmarshal.c
+
 vncdisplayenums.c: vncdisplay.h
-	glib-mkenums    --fhead "#include <glib-object.h>\n" \
+	$(AM_V_GEN)glib-mkenums    --fhead "#include <glib-object.h>\n" \
 			--fhead "#include \"vncdisplayenums.h\"\n\n" \
-			--fprod "\n/* enumerations from \"@filename \" */" \
-			--fprod "\n#include \"@filename \"\n" \
+			--fprod "\n/* enumerations from \"vncdisplay.h\" */" \
+			--fprod "\n#include \"vncdisplay.h\"\n" \
 			--vhead "static const G Type@Value _ enum_name@_values[] = {" \
 			--vprod "  { @VALUENAME@, \"@VALUENAME \", \"@valuenick \" }," \
 			--vtail "  { 0, NULL, NULL }\n};\n\n" \
@@ -62,21 +108,21 @@ vncdisplayenums.c: vncdisplay.h
 		$< > $@
 
 vncdisplayenums.h: vncdisplay.h
-	glib-mkenums    --fhead "#ifndef VNC_DISPLAY_ENUMS_H\n" \
+	$(AM_V_GEN)glib-mkenums    --fhead "#ifndef VNC_DISPLAY_ENUMS_H\n" \
 			--fhead "#define VNC_DISPLAY_ENUMS_H\n\n" \
 			--fhead "G_BEGIN_DECLS\n\n" \
 			--ftail "G_END_DECLS\n\n" \
 			--ftail "#endif /* VNC_DISPLAY_ENUMS_H */\n" \
-			--fprod "\n/* --- @filename@ --- */" \
+			--fprod "\n/* --- vncdisplay.h --- */" \
 			--eprod "#define VNC_TYPE_ ENUMSHORT@ @enum_name _get_type()\n" \
 			--eprod "GType @enum_name _get_type (void);\n" \
 		$< >  $@
 
 vncconnectionenums.c: vncconnection.h
-	glib-mkenums    --fhead "#include <glib-object.h>\n" \
+	$(AM_V_GEN)glib-mkenums    --fhead "#include <glib-object.h>\n" \
 			--fhead "#include \"vncconnectionenums.h\"\n\n" \
-			--fprod "\n/* enumerations from \"@filename \" */" \
-			--fprod "\n#include \"@filename \"\n" \
+			--fprod "\n/* enumerations from \"vncconnection.h\" */" \
+			--fprod "\n#include \"vncconnection.h\"\n" \
 			--vhead "static const G Type@Value _ enum_name@_values[] = {" \
 			--vprod "  { @VALUENAME@, \"@VALUENAME \", \"@valuenick \" }," \
 			--vtail "  { 0, NULL, NULL }\n};\n\n" \
@@ -88,22 +134,22 @@ vncconnectionenums.c: vncconnection.h
 		$< > $@
 
 vncconnectionenums.h: vncconnection.h
-	glib-mkenums    --fhead "#ifndef VNC_CONNECTION_ENUMS_H\n" \
+	$(AM_V_GEN)glib-mkenums    --fhead "#ifndef VNC_CONNECTION_ENUMS_H\n" \
 			--fhead "#define VNC_CONNECTION_ENUMS_H\n\n" \
 			--fhead "G_BEGIN_DECLS\n\n" \
 			--ftail "G_END_DECLS\n\n" \
 			--ftail "#endif /* VNC_CONNECTION_ENUMS_H */\n" \
-			--fprod "\n/* --- @filename@ --- */" \
+			--fprod "\n/* --- vncconnection.h --- */" \
 			--eprod "#define VNC_TYPE_ ENUMSHORT@ @enum_name _get_type()\n" \
 			--eprod "GType @enum_name _get_type (void);\n" \
 		$< >  $@
 
 vncmarshal.c: vncmarshal.txt
-	echo "#include \"vncmarshal.h\"" > $@ && \
-	glib-genmarshal --body $< >> $@ || (rm -f $@ && exit 1)
+	$(AM_V_GEN)echo "#include \"vncmarshal.h\"" > $@ && \
+		glib-genmarshal --body $< >> $@ || (rm -f $@ && exit 1)
 
 vncmarshal.h: vncmarshal.txt
-	glib-genmarshal --header $< > $@ || (rm -f $@ && exit 1)
+	$(AM_V_GEN)glib-genmarshal --header $< > $@ || (rm -f $@ && exit 1)
 
 vncdisplay.c:: vncmarshal.h vncdisplayenums.h
 
@@ -126,13 +172,13 @@ CODEGENDIR = $(shell pkg-config --variable=codegendir pygtk-2.0)
 DEFSDIR = $(shell pkg-config --variable=defsdir pygtk-2.0)
 
 vnc.defs: vncdisplay.h vncdisplayenums.h
-	$(PYTHON) $(CODEGENDIR)/h2def.py $< > $@
+	$(AM_V_GEN)$(PYTHON) $(CODEGENDIR)/h2def.py $< > $@
 
 vncmodule.defs.c: vnc.override vnc.defs
-	pygtk-codegen-2.0 --prefix gtkvnc \
-                          --register $(DEFSDIR)/gdk-types.defs \
-                          --register $(DEFSDIR)/gtk-types.defs \
-                          --override $(srcdir)/vnc.override vnc.defs > $@
+	$(AM_V_GEN)pygtk-codegen-2.0 --prefix gtkvnc \
+			  --register $(DEFSDIR)/gdk-types.defs \
+			  --register $(DEFSDIR)/gtk-types.defs \
+			  --override $(srcdir)/vnc.override vnc.defs > $@
 
 CLEANFILES += vnc.defs vncmodule.defs.c
 EXTRA_DIST += vnc.override
diff --git a/src/libgtk-vnc_sym.version b/src/libgtk-vnc_sym.version
index a77a9f1..b6f5347 100644
--- a/src/libgtk-vnc_sym.version
+++ b/src/libgtk-vnc_sym.version
@@ -64,6 +64,10 @@
 
     vnc_display_request_update;
 
+    vnc_image_framebuffer_get_type;
+    vnc_image_framebuffer_new;
+    vnc_image_framebuffer_get_image;
+
   local:
       *;
 };
diff --git a/src/libgvnc_sym.version b/src/libgvnc_sym.version
new file mode 100644
index 0000000..15e9046
--- /dev/null
+++ b/src/libgvnc_sym.version
@@ -0,0 +1,65 @@
+{
+    global:
+	vnc_cursor_get_type;
+	vnc_cursor_new;
+	vnc_cursor_get_data;
+	vnc_cursor_get_hotx;
+	vnc_cursor_get_hoty;
+	vnc_cursor_get_width;
+	vnc_cursor_get_height;
+
+	vnc_framebuffer_get_type;
+	vnc_framebuffer_get_width;
+	vnc_framebuffer_get_height;
+	vnc_framebuffer_get_rowstride;
+	vnc_framebuffer_get_buffer;
+	vnc_framebuffer_get_local_format;
+	vnc_framebuffer_get_remote_format;
+	vnc_framebuffer_perfect_format_match;
+	vnc_framebuffer_set_pixel_at;
+	vnc_framebuffer_fill;
+	vnc_framebuffer_copyrect;
+	vnc_framebuffer_blt;
+	vnc_framebuffer_rgb24_blt;
+
+	vnc_base_framebuffer_get_type;
+	vnc_base_framebuffer_new;
+
+	vnc_connection_get_type;
+	vnc_connection_new;
+	vnc_connection_open_fd;
+	vnc_connection_open_host;
+	vnc_connection_is_open;
+	vnc_connection_shutdown;
+	vnc_connection_set_auth_type;
+	vnc_connection_set_auth_subtype;
+	vnc_connection_set_credential;
+	vnc_connection_is_initialized;
+	vnc_connection_client_cut_text;
+	vnc_connection_pointer_event;
+	vnc_connection_key_event;
+	vnc_connection_framebuffer_update_request;
+	vnc_connection_set_encodings;
+	vnc_connection_set_pixel_format;
+	vnc_connection_get_pixel_format;
+	vnc_connection_set_shared;
+	vnc_connection_get_shared;
+	vnc_connection_has_error;
+	vnc_connection_set_framebuffer;
+	vnc_connection_get_name;
+	vnc_connection_get_width;
+	vnc_connection_get_height;
+	vnc_connection_get_cursor;
+	vnc_connection_get_abs_pointer;
+	vnc_connection_get_ext_key_event;
+	vnc_connection_encoding_get_type;
+	vnc_connection_auth_get_type;
+	vnc_connection_auth_vencrypt_get_type;
+	vnc_connection_credential_get_type;
+
+	vnc_util_set_debug;
+	vnc_util_get_debug;
+
+    local:
+	*;
+};
diff --git a/src/vncconnection.c b/src/vncconnection.c
index 3e3484a..cf18ed3 100644
--- a/src/vncconnection.c
+++ b/src/vncconnection.c
@@ -58,8 +58,6 @@
 
 #include <zlib.h>
 
-//#include <gdk/gdkkeysyms.h>
-
 #include "getaddrinfo.h"
 #include "dh.h"
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]