conduit r1280 - in trunk/conduit-sharp: . src test



Author: thomasvm
Date: Wed Feb  6 19:11:59 2008
New Revision: 1280
URL: http://svn.gnome.org/viewvc/conduit?rev=1280&view=rev

Log:
Add start of .net bindings

Added:
   trunk/conduit-sharp/
   trunk/conduit-sharp/AUTHORS
   trunk/conduit-sharp/COPYING   (contents, props changed)
   trunk/conduit-sharp/ChangeLog
   trunk/conduit-sharp/INSTALL   (contents, props changed)
   trunk/conduit-sharp/Makefile.am
   trunk/conduit-sharp/NEWS
   trunk/conduit-sharp/README
   trunk/conduit-sharp/aclocal.m4
   trunk/conduit-sharp/autogen.sh   (contents, props changed)
   trunk/conduit-sharp/conduit-sharp.mds
   trunk/conduit-sharp/conduit-sharp.pc.in
   trunk/conduit-sharp/configure.ac
   trunk/conduit-sharp/src/
   trunk/conduit-sharp/src/Application.cs
   trunk/conduit-sharp/src/AssemblyInfo.cs.in
   trunk/conduit-sharp/src/Conduit.cs
   trunk/conduit-sharp/src/DataProvider.cs
   trunk/conduit-sharp/src/Makefile.am
   trunk/conduit-sharp/src/SyncSet.cs
   trunk/conduit-sharp/src/Util.cs
   trunk/conduit-sharp/src/conduit-sharp.snk   (contents, props changed)
   trunk/conduit-sharp/src/src.mdp
   trunk/conduit-sharp/test/
   trunk/conduit-sharp/test/Makefile.am
   trunk/conduit-sharp/test/test-application.cs
   trunk/conduit-sharp/test/test.mdp

Added: trunk/conduit-sharp/AUTHORS
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/AUTHORS	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,2 @@
+Thomas Van Machelen <thomas vanmachelen gmail com>
+

Added: trunk/conduit-sharp/COPYING
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/COPYING	Wed Feb  6 19:11:59 2008
@@ -0,0 +1 @@
+link /usr/share/automake-1.10/COPYING
\ No newline at end of file

Added: trunk/conduit-sharp/INSTALL
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/INSTALL	Wed Feb  6 19:11:59 2008
@@ -0,0 +1 @@
+link /usr/share/automake-1.10/INSTALL
\ No newline at end of file

Added: trunk/conduit-sharp/Makefile.am
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/Makefile.am	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,9 @@
+SUBDIRS = \
+	src 	 \
+	test
+
+DIST_SUBDIRS = src test
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = conduit-sharp.pc
+

Added: trunk/conduit-sharp/NEWS
==============================================================================

Added: trunk/conduit-sharp/README
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/README	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,5 @@
+clutter-mono offers C#/Mono bindings to clutter
+
+	clutter: http://www.clutter-project.com
+	Mono: http://www.mono-project.com
+

Added: trunk/conduit-sharp/aclocal.m4
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/aclocal.m4	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,770 @@
+# generated automatically by aclocal 1.10 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_if(m4_PACKAGE_VERSION, [2.61],,
+[m4_fatal([this file was generated for autoconf 2.61.
+You have another version of autoconf.  If you want to use that,
+you should regenerate the build system entirely.], [63])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# 
+# Copyright  2004 Scott James Remnant <scott netsplit com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=m4_default([$1], [0.9.0])
+	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		AC_MSG_RESULT([yes])
+	else
+		AC_MSG_RESULT([no])
+		PKG_CONFIG=""
+	fi
+		
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists.  Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+    if test -n "$$1"; then
+        pkg_cv_[]$1="$$1"
+    else
+        PKG_CHECK_EXISTS([$3],
+                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+			 [pkg_failed=yes])
+    fi
+else
+	pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+        else 
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+	ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT
+])],
+		[AC_MSG_RESULT([no])
+                $4])
+elif test $pkg_failed = untried; then
+	ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
+		[$4])
+else
+	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+	ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002, 2003, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.10], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.10])dnl
+_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+                  [_AM_DEPENDENCIES(OBJC)],
+                  [define([AC_PROG_OBJC],
+                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode is disabled by default
+  AC_ARG_ENABLE(maintainer-mode,
+[  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer],
+      USE_MAINTAINER_MODE=$enableval,
+      USE_MAINTAINER_MODE=no)
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+

Added: trunk/conduit-sharp/autogen.sh
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/autogen.sh	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,58 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+DIE=0
+
+PACKAGE=conduit-sharp
+
+echo "Generating configuration files for $PACKAGE, please wait..."
+
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+	echo
+	echo "You must have autoconf installed to compile $PACKAGE."
+	echo "Download the appropriate package for your distribution,"
+	echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/";
+	DIE=1
+}
+
+(libtool --version) < /dev/null > /dev/null 2>&1 || {
+	echo
+	echo "You must have libtool installed to compile $PACKAGE."
+	echo "Download the appropriate package for your distribution,"
+	echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/";
+	DIE=1
+}
+
+(automake --version) < /dev/null > /dev/null 2>&1 || {
+	echo
+	echo "You must have automake installed to compile $PACKAGE."
+	echo "Download the appropriate package for your distribution,"
+	echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/";
+	DIE=1
+}
+
+[ $DIE -eq 1 ] && exit 1;
+
+echo "  libtoolize --copy --force"
+libtoolize --copy --force
+echo "  aclocal $ACLOCAL_FLAGS"
+aclocal $ACLOCAL_FLAGS
+echo "  autoheader"
+autoheader
+echo "  automake --add-missing"
+automake --add-missing
+echo "  autoconf"
+autoconf
+
+if [ -x config.status -a -z "$*" ]; then
+	./config.status --recheck
+else
+	if test -z "$*"; then
+		echo "I am going to run ./configure with no arguments - if you wish"
+		echo "to pass any to it, please specify them on the $0  command line."
+		echo "If you do not wish to run ./configure, press  Ctrl-C now."
+		trap 'echo "configure aborted" ; exit 0' 1 2 15
+		sleep 1
+	fi
+	./configure "$@";
+fi

Added: trunk/conduit-sharp/conduit-sharp.mds
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/conduit-sharp.mds	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,20 @@
+<Combine name="src" fileversion="2.0">
+  <Configurations active="Debug">
+    <Configuration name="Debug" ctype="CombineConfiguration">
+      <Entry build="True" name="src" configuration="Debug" />
+      <Entry build="True" name="test" configuration="Debug" />
+    </Configuration>
+    <Configuration name="Release" ctype="CombineConfiguration">
+      <Entry build="True" name="src" configuration="Release" />
+      <Entry build="True" name="test" configuration="Release" />
+    </Configuration>
+  </Configurations>
+  <StartMode startupentry="test" single="True">
+    <Execute type="None" entry="src" />
+    <Execute type="None" entry="test" />
+  </StartMode>
+  <Entries>
+    <Entry filename="./src/src.mdp" />
+    <Entry filename="./test/test.mdp" />
+  </Entries>
+</Combine>
\ No newline at end of file

Added: trunk/conduit-sharp/conduit-sharp.pc.in
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/conduit-sharp.pc.in	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,10 @@
+prefix= prefix@
+exec_prefix= exec_prefix@
+libdir= libdir@
+gapidir=${prefix}/share/gapi-2.0
+
+Name: conduit-sharp
+Description: conduit-sharp - Conduit C#/Mono Bindings
+Version: @VERSION@
+Libs: -r:${libdir}/mono/conduit-sharp/conduit-sharp.dll
+

Added: trunk/conduit-sharp/configure.ac
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/configure.ac	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,66 @@
+AC_INIT(README)
+AC_CANONICAL_SYSTEM
+
+AM_INIT_AUTOMAKE(conduit-sharp, 0.3.7)
+
+AM_MAINTAINER_MODE
+
+AC_PATH_PROG(MONO, mono, no)
+if test "x$MONO" = "xno"; then
+	AC_MSG_ERROR([Cannot find the "mono" runtime in your PATH])
+fi
+
+AC_PATH_PROG(MCS, gmcs, no)
+if test "x$MCS" = "xno"; then
+	AC_MSG_ERROR([Cannot find the "gmcs" compiler in your PATH])
+fi
+
+AC_PATH_PROG(GACUTIL, gacutil, no)
+if test "x$GACUTIL" = "xno"; then
+	AC_MSG_ERROR([Cannot find the "gacutil" program in your PATH])
+fi
+
+AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+if test "x$PKG_CONFIG" = "xno"; then
+	AC_MSG_ERROR([Cannot find the "pkg-config" program in your PATH])
+fi
+
+AC_ARG_ENABLE(docs,
+              AC_HELP_STRING([--disable-docs],
+                             [Do not build Monodoc documentation]),
+              with_docs=no, with_docs=yes)
+
+if test "x$with_docs" = "xyes"; then
+	AC_PATH_PROG(MONODOCER, monodocer, no)
+	if test "x$MONODOCER" = "xno"; then
+		AC_MSG_ERROR([You need to install monodoc])
+	fi
+
+	AC_PATH_PROG(MDASSEMBLER, mdassembler, no)
+	if test "x$MDASSEMBLER" = "xno"; then
+		AC_MSG_ERROR([You need to install mdassembler])
+	fi
+
+	DOCDIR=`$PKG_CONFIG monodoc --variable=sourcesdir`
+	AC_SUBST(DOCDIR)
+
+	AM_CONDITIONAL(BUILD_DOCS, true)
+else
+	AC_MSG_NOTICE([not building API documentation])
+	AM_CONDITIONAL(BUILD_DOCS, false)
+fi
+
+PKG_CHECK_MODULES(GLIBSHARP, glib-sharp-2.0 > 2.10.0)
+AC_SUBST(GLIBSHARP_LIBS)
+
+PKG_CHECK_MODULES(NDESKDBUS, ndesk-dbus-1.0 >= 0.4.0)
+AC_SUBST(NDESKDBUS_LIBS)
+
+AC_OUTPUT([
+	Makefile
+	conduit-sharp.pc
+	src/Makefile
+	src/AssemblyInfo.cs
+	test/Makefile
+])
+

Added: trunk/conduit-sharp/src/Application.cs
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/src/Application.cs	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,45 @@
+using System;
+using NDesk.DBus;
+namespace Conduit {
+ 	[Interface("org.conduit.Application")]
+	internal interface IApplication {
+
+	 	ObjectPath BuildConduit (ObjectPath source, ObjectPath sink);
+
+	 	ObjectPath BuildConduit (string key);
+
+		string[] GetAllDataProviders (); 
+
+		ObjectPath GetDataProvider (string key);
+
+		ObjectPath NewSyncSet ();
+
+		void Quit ();
+	}
+
+	public class Application {
+		private IApplication dbus_application = null;
+
+		public Application() {
+			if (!Bus.Session.NameHasOwner(Util.APPLICATION_BUSNAME))
+				throw new Exception("Conduit is not available.");
+			
+	        dbus_application = Util.GetObject<IApplication> (new ObjectPath ("/"));
+		}
+
+		public Conduit BuildConduit (DataProvider source, DataProvider sink) {
+			ObjectPath path = dbus_application.BuildConduit (source.Path, sink.Path); 
+			return new Conduit (path);
+		}
+
+		public string[] GetAllDataProviders () {
+			return dbus_application.GetAllDataProviders (); 
+		}
+
+		public DataProvider GetDataProvider (string key) {
+			ObjectPath path = dbus_application.GetDataProvider (key); 
+			return new DataProvider (path);
+		}
+
+	}
+}

Added: trunk/conduit-sharp/src/AssemblyInfo.cs.in
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/src/AssemblyInfo.cs.in	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,7 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly:AssemblyVersion("@VERSION@")]
+[assembly:AssemblyDelaySign(false)]
+[assembly:AssemblyKeyFile("@srcdir@/conduit-sharp.snk")]
+

Added: trunk/conduit-sharp/src/Conduit.cs
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/src/Conduit.cs	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,62 @@
+using System;
+using NDesk.DBus;
+
+namespace Conduit {
+	[Interface("org.conduit.Conduit")]
+	internal interface IConduit {
+		void AddDataProvider (ObjectPath dp, bool trySource);
+		
+		void DeleteDataProvider (ObjectPath dp);
+		
+		void DisableTwoWaySync ();
+		
+		void EnableTwoWaySync ();
+		
+		bool IsTwoWay ();
+		
+		void Refresh();
+		
+		void Sync();
+	}
+
+	public class Conduit {
+		private IConduit dbus_conduit;
+		private ObjectPath path;
+
+		public ObjectPath Path {
+			get { return path; } 
+		}
+
+	 	public Conduit (ObjectPath path) {
+	 		dbus_conduit = Util.GetObject<IConduit> (path);
+		 	this.path = path;
+		}
+		
+		public void AddDataProvider (DataProvider dp, bool trySource) {
+			dbus_conduit.AddDataProvider(dp.Path, trySource);		
+		}
+		
+		public void DeleteDataProvider (DataProvider dp) {
+			dbus_conduit.DeleteDataProvider(dp.Path);
+		}
+		
+		public void DisableTwoWaySync () {
+			dbus_conduit.DisableTwoWaySync();
+		}
+		
+		public void EnableTwoWaySync () {
+			dbus_conduit.EnableTwoWaySync();	
+		}
+		
+		public bool IsTwoWay () {
+			return dbus_conduit.IsTwoWay();
+		}
+		public void Refresh() {
+			dbus_conduit.Refresh();
+		}
+		
+		public void Sync() {
+			dbus_conduit.Sync();
+		}
+	} 
+}

Added: trunk/conduit-sharp/src/DataProvider.cs
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/src/DataProvider.cs	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic; 
+using NDesk.DBus;
+
+namespace Conduit {
+ 	[Interface("org.conduit.DataProvider")]
+	internal interface IDataProvider {
+
+		bool AddData (string Uri);
+
+		void Configure ();
+
+		string GetConfigurationXml ();
+
+		IDictionary<string, string> GetInformation ();
+
+		bool IsConfigured ();
+
+		bool IsPending ();
+
+		void SetConfigurationXml (string xml);
+	}
+
+	public class DataProvider {
+	 	private IDataProvider dbus_dataprovider = null;
+		private ObjectPath path;
+
+		internal ObjectPath Path {
+		 	get { return path; }
+		}
+
+		internal DataProvider (ObjectPath path) {
+			dbus_dataprovider = Util.GetObject<IDataProvider> (path); 
+			this.path = path;
+		}
+
+		public void Configure () {
+			dbus_dataprovider.Configure (); 
+		}
+
+		public bool AddData (string uri) {
+			return dbus_dataprovider.AddData (uri); 
+		}
+
+		public string GetConfigurationXml () {
+			return dbus_dataprovider.GetConfigurationXml (); 
+		}
+
+		public IDictionary<string, string> GetInformation () {
+			return dbus_dataprovider.GetInformation (); 
+		}
+
+		public bool IsConfigured () {
+			return dbus_dataprovider.IsConfigured (); 
+		}
+
+		public bool IsPending () {
+			return dbus_dataprovider.IsPending (); 
+		}
+
+		public void SetConfigurationXml (string xml) {
+			dbus_dataprovider.SetConfigurationXml (xml); 
+		}
+	} 
+}

Added: trunk/conduit-sharp/src/Makefile.am
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/src/Makefile.am	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,28 @@
+ASSEMBLY_NAME = conduit-sharp
+ASSEMBLY = $(ASSEMBLY_NAME).dll
+SOURCES = \
+	Application.cs		\
+	Conduit.cs		\
+	DataProvider.cs		\
+	SyncSet.cs		\
+	Util.cs
+
+all: $(ASSEMBLY)
+
+$(ASSEMBLY): $(SOURCES)
+	$(MCS) -out:$@ -debug -target:library -nowarn:0169 -unsafe $(NDESKDBUS_LIBS) $(SOURCES) AssemblyInfo.cs
+
+install-data-local:
+	$(GACUTIL) /i $(ASSEMBLY) /f /package $(ASSEMBLY_NAME) /gacdir $(DESTDIR)$(libdir)
+
+uninstall-local:
+	$(GACUTIL) /u $(ASSEMBLY_NAME) /package $(ASSEMBLY_NAME) /gacdir $(libdir) /root $(DESTDIR)$(libdir)
+
+CLEANFILES = $(ASSEMBLY) *.mdb
+DISTCLEANFILES = Makefile.in
+EXTRA_DIST = \
+	$(SOURCES) \
+	$(srcdir)/AssemblyInfo.cs.in \
+	$(srcdir)/$(ASSEMBLY_NAME).snk
+
+

Added: trunk/conduit-sharp/src/SyncSet.cs
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/src/SyncSet.cs	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,68 @@
+using System;
+using NDesk.DBus;
+
+namespace Conduit {
+ 	[Interface("org.conduit.SyncSet")]
+	internal interface ISyncSet {
+
+		void AddConduit (ObjectPath conduit);
+
+		void DeleteConduit (ObjectPath conduit);
+
+		void RestoreFromXml (string path);
+
+		void SaveToXml (string path);
+	}
+
+	public class SyncSet {
+
+		private ObjectPath path;
+		private ISyncSet dbus_syncset;
+
+		private static SyncSet gui;
+		private static SyncSet dbus;
+
+		public static SyncSet Gui {
+			get {
+				if (gui == null) {
+					gui = new SyncSet (new ObjectPath ("/syncset/gui"));
+				} 
+				return gui;
+			} 
+		}
+
+		public static SyncSet DBus {
+		 	get {
+				if (dbus == null) {
+					dbus = new SyncSet (new ObjectPath ("/syncset/dbus"));
+				} 
+				return dbus;
+			}
+		}
+
+		internal ObjectPath Path {
+			get { return path; } 
+		}
+
+	 	private SyncSet (ObjectPath path) {
+			dbus_syncset = Util.GetObject<ISyncSet> (path);
+			this.path = path;
+		}
+
+		public void AddConduit (Conduit conduit) {
+			dbus_syncset.AddConduit (conduit.Path); 
+		}
+
+		public void DeleteConduit (Conduit conduit) {
+			dbus_syncset.DeleteConduit (conduit.Path); 
+		}
+
+		public void SaveToXml (string path) {
+			dbus_syncset.SaveToXml (path);
+		}
+
+		public void RestoreFromXml (string path) {
+			dbus_syncset.RestoreFromXml (path); 
+		}
+	}
+}

Added: trunk/conduit-sharp/src/Util.cs
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/src/Util.cs	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,11 @@
+using NDesk.DBus;
+
+namespace Conduit {
+	internal class Util {
+		internal const string APPLICATION_BUSNAME = "org.conduit.Application";
+
+	 	public static T GetObject<T> (ObjectPath path) {
+			 return Bus.Session.GetObject<T> (APPLICATION_BUSNAME, path);
+		}
+	} 
+}

Added: trunk/conduit-sharp/src/conduit-sharp.snk
==============================================================================
Binary file. No diff available.

Added: trunk/conduit-sharp/src/src.mdp
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/src/src.mdp	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,27 @@
+<Project name="src" fileversion="2.0" language="C#" clr-version="Net_2_0" ctype="DotNetProject">
+  <Configurations active="Debug">
+    <Configuration name="Debug" ctype="DotNetProjectConfiguration">
+      <Output directory="./bin/Debug" assembly="src" />
+      <Build debugmode="True" target="Library" />
+      <Execution runwithwarnings="True" consolepause="True" runtime="MsNet" clr-version="Net_2_0" />
+      <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
+    </Configuration>
+    <Configuration name="Release" ctype="DotNetProjectConfiguration">
+      <Output directory="./bin/Release" assembly="src" />
+      <Build debugmode="False" target="Exe" />
+      <Execution runwithwarnings="True" consolepause="True" runtime="MsNet" clr-version="Net_2_0" />
+      <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
+    </Configuration>
+  </Configurations>
+  <Contents>
+    <File name="./Application.cs" subtype="Code" buildaction="Compile" />
+    <File name="./Conduit.cs" subtype="Code" buildaction="Compile" />
+    <File name="./DataProvider.cs" subtype="Code" buildaction="Compile" />
+    <File name="./SyncSet.cs" subtype="Code" buildaction="Compile" />
+    <File name="./Util.cs" subtype="Code" buildaction="Compile" />
+    <File name="./conduit-sharp.snk" subtype="Code" buildaction="Nothing" />
+  </Contents>
+  <References>
+    <ProjectReference type="Gac" localcopy="True" refto="NDesk.DBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6716e4f9b2ed099" />
+  </References>
+</Project>
\ No newline at end of file

Added: trunk/conduit-sharp/test/Makefile.am
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/test/Makefile.am	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,14 @@
+SAMPLES=test-application.cs 
+MCSFLAGS= -debug -nologo -r:conduit-sharp.dll
+
+EXTRA_DIST=$(SAMPLES)
+CLEANFILES= *.exe *.mdb *.pdb *.dll
+
+noinst_SCRIPTS=$(SAMPLES:.cs=.exe)
+
+%.exe: %.cs conduit-sharp.dll
+	$(MCS) $(MCSFLAGS) `pkg-config --libs glib-sharp-2.0` -out:$@ $<
+
+conduit-sharp.dll: $(top_builddir)/src/conduit-sharp.dll
+	cp $(top_builddir)/src/conduit-sharp.dll* .
+

Added: trunk/conduit-sharp/test/test-application.cs
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/test/test-application.cs	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using Conduit;
+
+
+public class Program {
+	public static void Main() {
+		Application app = new Conduit.Application();
+		DataProvider dp = app.GetDataProvider ("FolderTwoWay");
+		
+		foreach (KeyValuePair<string, string> keyPair in dp.GetInformation())
+			Console.WriteLine("{0} {1}", keyPair.Key, keyPair.Value);
+		
+		Console.WriteLine("Configured: {0}", dp.IsConfigured());
+		
+	}
+}

Added: trunk/conduit-sharp/test/test.mdp
==============================================================================
--- (empty file)
+++ trunk/conduit-sharp/test/test.mdp	Wed Feb  6 19:11:59 2008
@@ -0,0 +1,22 @@
+<Project name="test" fileversion="2.0" language="C#" clr-version="Net_2_0" ctype="DotNetProject">
+  <Configurations active="Debug">
+    <Configuration name="Debug" ctype="DotNetProjectConfiguration">
+      <Output directory="./bin/Debug" assembly="test" />
+      <Build debugmode="True" target="Exe" />
+      <Execution runwithwarnings="True" consolepause="True" runtime="MsNet" clr-version="Net_2_0" />
+      <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" generatexmldocumentation="False" win32Icon="./" ctype="CSharpCompilerParameters" />
+    </Configuration>
+    <Configuration name="Release" ctype="DotNetProjectConfiguration">
+      <Output directory="./bin/Release" assembly="test" />
+      <Build debugmode="False" target="Exe" />
+      <Execution runwithwarnings="True" consolepause="True" runtime="MsNet" clr-version="Net_2_0" />
+      <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" generatexmldocumentation="False" win32Icon="./" ctype="CSharpCompilerParameters" />
+    </Configuration>
+  </Configurations>
+  <Contents>
+    <File name="./test-application.cs" subtype="Code" buildaction="Compile" />
+  </Contents>
+  <References>
+    <ProjectReference type="Project" localcopy="True" refto="src" />
+  </References>
+</Project>
\ No newline at end of file



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