zeitgeist-sharp-0.8.0.0/0000755000175000017500000000000011563046376012013 500000000000000zeitgeist-sharp-0.8.0.0/NEWS0000644000175000017500000000077511563046141012431 000000000000000.8.0 - All I need is some pepper ------------------------------------- * Broken ABI since 0.1.x * Backward incompatible API - New Blacklist interface - Added a property "extensions" to LogClient * Updated ontology * Monitors are reinstalled upon startup (LP Bug #673008) * Clients are reconnected after SessionBus restarts * Dependency on ndesk-dbus removed and ported to dbus-sharp Thanks: Travis Glenn Hansen 0.1.0.1 --------- Fixing of autobuild script 0.1.0 - Stark --------------- First release zeitgeist-sharp-0.8.0.0/LICENSE0000644000175000017500000000225111460334371012727 00000000000000Copyright (c) 2010 Manish Sinha Copyright (c) 2010 Seif Lotfy Copyright (c) 2010 Mirco Bauer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. zeitgeist-sharp-0.8.0.0/aclocal.m40000644000175000017500000007315111560573220013570 00000000000000# generated automatically by aclocal 1.11.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009 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_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, [m4_warning([this file was generated for autoconf 2.67. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # # 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]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) 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. # # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # only at the first occurence in configure.ac, so if the first place # it's called might be skipped (such as if it is within an "if", you # have 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_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) 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 AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [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])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [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 .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 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.11' 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.11.1], [], [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 AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_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, 2008 # 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 9 # 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 m4_define([_AM_COND_VALUE_$1], [$2])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, 2008, 2009 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 16 # 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.62])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) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl 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 ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # 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_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005, 2008 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 if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi 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, 2008 # 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_MAINTAINER_MODE([DEFAULT-MODE]) # ---------------------------------- # Control maintainer-specific portions of Makefiles. # Default is to disable them, unless `enable' is passed literally. # For symmetry, `disable' may be passed as well. Anyway, the user # can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), [enable], [m4_define([am_maintainer_other], [disable])], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful (and sometimes confusing) to the casual installer], [USE_MAINTAINER_MODE=$enableval], [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) 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, 2008 # 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 6 # 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 if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # 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, 2008 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_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], [m4_foreach_w([_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, 2008 # 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_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # 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, 2008 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_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_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 /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 m4_include([expansions.m4]) zeitgeist-sharp-0.8.0.0/README0000644000175000017500000000035011460334371012600 00000000000000zeitgeist-sharp zeitgeist-sharp is a mono wrapping over Zeitgeist DBus API. Zeitgeist Project: https://launchpad.net/zeitgeist Zeitgeist-sharp Project https://launchpad.net/zeitgeist-sharp Website: http://zeitgeist-project.com/ zeitgeist-sharp-0.8.0.0/configure0000755000175000017500000037155611560573221013652 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.67 for zeitgeist-sharp 0.8.0.0. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='zeitgeist-sharp' PACKAGE_TARNAME='zeitgeist-sharp' PACKAGE_VERSION='0.8.0.0' PACKAGE_STRING='zeitgeist-sharp 0.8.0.0' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_subst_vars='LTLIBOBJS LIBOBJS ZEITGEIST_DAEMON_LIBS ZEITGEIST_DAEMON_CFLAGS GLIB_SHARP_20_LIBS GLIB_SHARP_20_CFLAGS DBUS_SHARP_GLIB_10_LIBS DBUS_SHARP_GLIB_10_CFLAGS DBUS_SHARP_10_LIBS DBUS_SHARP_10_CFLAGS GACUTIL_FLAGS GACUTIL XBUILD GMCS MONO_LIBS MONO_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH ASSEMBLY_VERSION expanded_datadir expanded_bindir expanded_libdir PKG_CONFIG MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_maintainer_mode ' ac_precious_vars='build_alias host_alias target_alias PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR MONO_CFLAGS MONO_LIBS DBUS_SHARP_10_CFLAGS DBUS_SHARP_10_LIBS DBUS_SHARP_GLIB_10_CFLAGS DBUS_SHARP_GLIB_10_LIBS GLIB_SHARP_20_CFLAGS GLIB_SHARP_20_LIBS ZEITGEIST_DAEMON_CFLAGS ZEITGEIST_DAEMON_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures zeitgeist-sharp 0.8.0.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/zeitgeist-sharp] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of zeitgeist-sharp 0.8.0.0:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer Some influential environment variables: PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path MONO_CFLAGS C compiler flags for MONO, overriding pkg-config MONO_LIBS linker flags for MONO, overriding pkg-config DBUS_SHARP_10_CFLAGS C compiler flags for DBUS_SHARP_10, overriding pkg-config DBUS_SHARP_10_LIBS linker flags for DBUS_SHARP_10, overriding pkg-config DBUS_SHARP_GLIB_10_CFLAGS C compiler flags for DBUS_SHARP_GLIB_10, overriding pkg-config DBUS_SHARP_GLIB_10_LIBS linker flags for DBUS_SHARP_GLIB_10, overriding pkg-config GLIB_SHARP_20_CFLAGS C compiler flags for GLIB_SHARP_20, overriding pkg-config GLIB_SHARP_20_LIBS linker flags for GLIB_SHARP_20, overriding pkg-config ZEITGEIST_DAEMON_CFLAGS C compiler flags for ZEITGEIST_DAEMON, overriding pkg-config ZEITGEIST_DAEMON_LIBS linker flags for ZEITGEIST_DAEMON, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF zeitgeist-sharp configure 0.8.0.0 generated by GNU Autoconf 2.67 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by zeitgeist-sharp $as_me 0.8.0.0, which was generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5 ; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; esac # 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". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # 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. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi 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 if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 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 # Define the identity of the package. PACKAGE='zeitgeist-sharp' VERSION='0.8.0.0' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$PKG_CONFIG" = "xno"; then as_fn_error $? "You need to install pkg-config" "$LINENO" 5 fi expanded_libdir=`( case $prefix in NONE) prefix=$ac_default_prefix ;; *) ;; esac case $exec_prefix in NONE) exec_prefix=$prefix ;; *) ;; esac eval echo $libdir )` expanded_bindir=`( case $prefix in NONE) prefix=$ac_default_prefix ;; *) ;; esac case $exec_prefix in NONE) exec_prefix=$prefix ;; *) ;; esac eval echo $bindir )` case $prefix in NONE) prefix=$ac_default_prefix ;; *) ;; esac case $exec_prefix in NONE) exec_prefix=$prefix ;; *) ;; esac expanded_datadir=`(eval echo $datadir)` expanded_datadir=`(eval echo $expanded_datadir)` # DO NOT TOUCH! # Except you know what you do # This defines the library ABI version! ASSEMBLY_VERSION="0.8.0.0" if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MONO" >&5 $as_echo_n "checking for MONO... " >&6; } if test -n "$MONO_CFLAGS"; then pkg_cv_MONO_CFLAGS="$MONO_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mono >= 2.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "mono >= 2.4") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_MONO_CFLAGS=`$PKG_CONFIG --cflags "mono >= 2.4" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$MONO_LIBS"; then pkg_cv_MONO_LIBS="$MONO_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mono >= 2.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "mono >= 2.4") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_MONO_LIBS=`$PKG_CONFIG --libs "mono >= 2.4" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then MONO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "mono >= 2.4" 2>&1` else MONO_PKG_ERRORS=`$PKG_CONFIG --print-errors "mono >= 2.4" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$MONO_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (mono >= 2.4) were not met: $MONO_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables MONO_CFLAGS and MONO_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "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. Alternatively, you may set the environment variables MONO_CFLAGS and MONO_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5 ; } else MONO_CFLAGS=$pkg_cv_MONO_CFLAGS MONO_LIBS=$pkg_cv_MONO_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi # Extract the first word of "gmcs", so it can be a program name with args. set dummy gmcs; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GMCS+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GMCS in [\\/]* | ?:[\\/]*) ac_cv_path_GMCS="$GMCS" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GMCS="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMCS" && ac_cv_path_GMCS="no" ;; esac fi GMCS=$ac_cv_path_GMCS if test -n "$GMCS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMCS" >&5 $as_echo "$GMCS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$GMCS" = "xno"; then as_fn_error $? "You need to install gmcs" "$LINENO" 5 fi # Extract the first word of "xbuild", so it can be a program name with args. set dummy xbuild; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_XBUILD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $XBUILD in [\\/]* | ?:[\\/]*) ac_cv_path_XBUILD="$XBUILD" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XBUILD="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_XBUILD" && ac_cv_path_XBUILD="no" ;; esac fi XBUILD=$ac_cv_path_XBUILD if test -n "$XBUILD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XBUILD" >&5 $as_echo "$XBUILD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$XBUILD" = "xno"; then as_fn_error $? "You need to install xbuild" "$LINENO" 5 fi # Extract the first word of "gacutil", so it can be a program name with args. set dummy gacutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_GACUTIL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GACUTIL in [\\/]* | ?:[\\/]*) ac_cv_path_GACUTIL="$GACUTIL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GACUTIL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GACUTIL=$ac_cv_path_GACUTIL if test -n "$GACUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GACUTIL" >&5 $as_echo "$GACUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x$GACUTIL = x; then as_fn_error $? "You need to install gacutil" "$LINENO" 5 fi GACUTIL_FLAGS='-root $(DESTDIR)$(libdir)' pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DBUS_SHARP_10" >&5 $as_echo_n "checking for DBUS_SHARP_10... " >&6; } if test -n "$DBUS_SHARP_10_CFLAGS"; then pkg_cv_DBUS_SHARP_10_CFLAGS="$DBUS_SHARP_10_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dbus-sharp-1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "dbus-sharp-1.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DBUS_SHARP_10_CFLAGS=`$PKG_CONFIG --cflags "dbus-sharp-1.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$DBUS_SHARP_10_LIBS"; then pkg_cv_DBUS_SHARP_10_LIBS="$DBUS_SHARP_10_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dbus-sharp-1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "dbus-sharp-1.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DBUS_SHARP_10_LIBS=`$PKG_CONFIG --libs "dbus-sharp-1.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then DBUS_SHARP_10_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "dbus-sharp-1.0" 2>&1` else DBUS_SHARP_10_PKG_ERRORS=`$PKG_CONFIG --print-errors "dbus-sharp-1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$DBUS_SHARP_10_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (dbus-sharp-1.0) were not met: $DBUS_SHARP_10_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables DBUS_SHARP_10_CFLAGS and DBUS_SHARP_10_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "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. Alternatively, you may set the environment variables DBUS_SHARP_10_CFLAGS and DBUS_SHARP_10_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5 ; } else DBUS_SHARP_10_CFLAGS=$pkg_cv_DBUS_SHARP_10_CFLAGS DBUS_SHARP_10_LIBS=$pkg_cv_DBUS_SHARP_10_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DBUS_SHARP_GLIB_10" >&5 $as_echo_n "checking for DBUS_SHARP_GLIB_10... " >&6; } if test -n "$DBUS_SHARP_GLIB_10_CFLAGS"; then pkg_cv_DBUS_SHARP_GLIB_10_CFLAGS="$DBUS_SHARP_GLIB_10_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dbus-sharp-glib-1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "dbus-sharp-glib-1.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DBUS_SHARP_GLIB_10_CFLAGS=`$PKG_CONFIG --cflags "dbus-sharp-glib-1.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$DBUS_SHARP_GLIB_10_LIBS"; then pkg_cv_DBUS_SHARP_GLIB_10_LIBS="$DBUS_SHARP_GLIB_10_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dbus-sharp-glib-1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "dbus-sharp-glib-1.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DBUS_SHARP_GLIB_10_LIBS=`$PKG_CONFIG --libs "dbus-sharp-glib-1.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then DBUS_SHARP_GLIB_10_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "dbus-sharp-glib-1.0" 2>&1` else DBUS_SHARP_GLIB_10_PKG_ERRORS=`$PKG_CONFIG --print-errors "dbus-sharp-glib-1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$DBUS_SHARP_GLIB_10_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (dbus-sharp-glib-1.0) were not met: $DBUS_SHARP_GLIB_10_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables DBUS_SHARP_GLIB_10_CFLAGS and DBUS_SHARP_GLIB_10_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "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. Alternatively, you may set the environment variables DBUS_SHARP_GLIB_10_CFLAGS and DBUS_SHARP_GLIB_10_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5 ; } else DBUS_SHARP_GLIB_10_CFLAGS=$pkg_cv_DBUS_SHARP_GLIB_10_CFLAGS DBUS_SHARP_GLIB_10_LIBS=$pkg_cv_DBUS_SHARP_GLIB_10_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB_SHARP_20" >&5 $as_echo_n "checking for GLIB_SHARP_20... " >&6; } if test -n "$GLIB_SHARP_20_CFLAGS"; then pkg_cv_GLIB_SHARP_20_CFLAGS="$GLIB_SHARP_20_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-sharp-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-sharp-2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLIB_SHARP_20_CFLAGS=`$PKG_CONFIG --cflags "glib-sharp-2.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GLIB_SHARP_20_LIBS"; then pkg_cv_GLIB_SHARP_20_LIBS="$GLIB_SHARP_20_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-sharp-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-sharp-2.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLIB_SHARP_20_LIBS=`$PKG_CONFIG --libs "glib-sharp-2.0" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GLIB_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-sharp-2.0" 2>&1` else GLIB_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-sharp-2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GLIB_SHARP_20_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (glib-sharp-2.0) were not met: $GLIB_SHARP_20_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GLIB_SHARP_20_CFLAGS and GLIB_SHARP_20_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "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. Alternatively, you may set the environment variables GLIB_SHARP_20_CFLAGS and GLIB_SHARP_20_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5 ; } else GLIB_SHARP_20_CFLAGS=$pkg_cv_GLIB_SHARP_20_CFLAGS GLIB_SHARP_20_LIBS=$pkg_cv_GLIB_SHARP_20_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZEITGEIST_DAEMON" >&5 $as_echo_n "checking for ZEITGEIST_DAEMON... " >&6; } if test -n "$ZEITGEIST_DAEMON_CFLAGS"; then pkg_cv_ZEITGEIST_DAEMON_CFLAGS="$ZEITGEIST_DAEMON_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zeitgeist-daemon >= 0.7.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "zeitgeist-daemon >= 0.7.1") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ZEITGEIST_DAEMON_CFLAGS=`$PKG_CONFIG --cflags "zeitgeist-daemon >= 0.7.1" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$ZEITGEIST_DAEMON_LIBS"; then pkg_cv_ZEITGEIST_DAEMON_LIBS="$ZEITGEIST_DAEMON_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zeitgeist-daemon >= 0.7.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "zeitgeist-daemon >= 0.7.1") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ZEITGEIST_DAEMON_LIBS=`$PKG_CONFIG --libs "zeitgeist-daemon >= 0.7.1" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then ZEITGEIST_DAEMON_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "zeitgeist-daemon >= 0.7.1" 2>&1` else ZEITGEIST_DAEMON_PKG_ERRORS=`$PKG_CONFIG --print-errors "zeitgeist-daemon >= 0.7.1" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ZEITGEIST_DAEMON_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (zeitgeist-daemon >= 0.7.1) were not met: $ZEITGEIST_DAEMON_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables ZEITGEIST_DAEMON_CFLAGS and ZEITGEIST_DAEMON_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "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. Alternatively, you may set the environment variables ZEITGEIST_DAEMON_CFLAGS and ZEITGEIST_DAEMON_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5 ; } else ZEITGEIST_DAEMON_CFLAGS=$pkg_cv_ZEITGEIST_DAEMON_CFLAGS ZEITGEIST_DAEMON_LIBS=$pkg_cv_ZEITGEIST_DAEMON_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi ac_config_files="$ac_config_files Zeitgeist/zeitgeist-sharp.pc Zeitgeist/AssemblyInfo.cs Zeitgeist/Makefile Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by zeitgeist-sharp $as_me 0.8.0.0, which was generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ zeitgeist-sharp config.status 0.8.0.0 configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "Zeitgeist/zeitgeist-sharp.pc") CONFIG_FILES="$CONFIG_FILES Zeitgeist/zeitgeist-sharp.pc" ;; "Zeitgeist/AssemblyInfo.cs") CONFIG_FILES="$CONFIG_FILES Zeitgeist/AssemblyInfo.cs" ;; "Zeitgeist/Makefile") CONFIG_FILES="$CONFIG_FILES Zeitgeist/Makefile" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi zeitgeist-sharp-0.8.0.0/configure.ac0000644000175000017500000000246311560567464014231 00000000000000AC_PREREQ([2.54]) AC_INIT([zeitgeist-sharp], [0.8.0.0]) AM_INIT_AUTOMAKE([foreign]) AM_MAINTAINER_MODE dnl pkg-config AC_PATH_PROG(PKG_CONFIG, pkg-config, no) if test "x$PKG_CONFIG" = "xno"; then AC_MSG_ERROR([You need to install pkg-config]) fi SHAMROCK_EXPAND_LIBDIR SHAMROCK_EXPAND_BINDIR SHAMROCK_EXPAND_DATADIR AC_PROG_INSTALL # DO NOT TOUCH! # Except you know what you do # This defines the library ABI version! ASSEMBLY_VERSION="0.8.0.0" AC_SUBST(ASSEMBLY_VERSION) PKG_CHECK_MODULES([MONO], [mono >= 2.4]) AC_PATH_PROG(GMCS, gmcs, no) if test "x$GMCS" = "xno"; then AC_MSG_ERROR([You need to install gmcs]) fi AC_PATH_PROG(XBUILD, xbuild, no) if test "x$XBUILD" = "xno"; then AC_MSG_ERROR([You need to install xbuild]) fi AC_PATH_PROG(GACUTIL, gacutil) if test x$GACUTIL = x; then AC_MSG_ERROR([You need to install gacutil]) fi GACUTIL_FLAGS='-root $(DESTDIR)$(libdir)' AC_SUBST(GACUTIL_FLAGS) dnl package checks, common for all configs PKG_CHECK_MODULES([DBUS_SHARP_10], [dbus-sharp-1.0]) PKG_CHECK_MODULES([DBUS_SHARP_GLIB_10], [dbus-sharp-glib-1.0]) PKG_CHECK_MODULES([GLIB_SHARP_20], [glib-sharp-2.0]) PKG_CHECK_MODULES([ZEITGEIST_DAEMON], [zeitgeist-daemon >= 0.7.1]) AC_CONFIG_FILES([ Zeitgeist/zeitgeist-sharp.pc Zeitgeist/AssemblyInfo.cs Zeitgeist/Makefile Makefile ]) AC_OUTPUT zeitgeist-sharp-0.8.0.0/install-sh0000755000175000017500000003253711500011217013722 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2009-04-28.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: zeitgeist-sharp-0.8.0.0/missing0000755000175000017500000002623311500011217013311 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2009-04-28.21; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # 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, 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, see . # 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. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar*) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: zeitgeist-sharp-0.8.0.0/Zeitgeist/0000755000175000017500000000000011563046376013762 500000000000000zeitgeist-sharp-0.8.0.0/Zeitgeist/Zeitgeist.csproj0000644000175000017500000000630311562055574017074 00000000000000 Debug AnyCPU 8.0.50727 2.0 {A8352F1A-F10C-41E6-B6B0-655703358EF4} Library Zeitgeist zeitgeist-sharp true zeitgeist-sharp.snk true full true bin\Debug DEBUG prompt 4 false true none false bin\Release prompt 4 false glib-sharp-2.0 dbus-sharp-1.0 dbus-sharp-glib-1.0 zeitgeist-sharp-0.8.0.0/Zeitgeist/Client/0000755000175000017500000000000011563046376015200 500000000000000zeitgeist-sharp-0.8.0.0/Zeitgeist/Client/IBlacklist.cs0000644000175000017500000000757011560567332017476 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using Zeitgeist.Datamodel; using Zeitgeist; using System.Collections.Generic; namespace Zeitgeist.Client { /// /// The Zeitgeist engine maintains a list of event templates that is known as the blacklist. /// When inserting events via LogClient.InsertEvents they will be checked against the blacklist templates /// and if they match they will not be inserted in the log, and any matching monitors will not be signalled. /// [DBus.Interface ("org.gnome.zeitgeist.Blacklist")] internal interface IBlacklist { /// /// Get the current blacklist templates. /// /// /// A dictionary of Blacklist Id as and /// Blacklist RawEvent templates /// Dictionary GetTemplates(); /// /// Set the blacklist to event_templates. /// /// /// Events matching any these templates will be blocked from insertion into the log. /// It is still possible to find and look up events matching the blacklist which was inserted before the blacklist banned them. /// /// /// The representing the template /// void AddTemplate(string blacklist_id, RawEvent event_template); /// /// Remove a blacklist /// /// /// A which represents the blacklist id of the blacklist template /// void RemoveTemplate(string blacklist_id); /// /// Raised when a blacklist template is added /// /// /// When a new blacklist template is added to the engine, then this event is raised. /// The delegate is used for handle the events. /// event RawBlacklistTemplateAddedHandler TemplateAdded; /// /// Raised when a blacklist template is removed /// /// /// When a new blacklist template is removed to the engine, then this event is raised. /// The delegate is used for handle the events. /// event RawBlacklistTemplateRemovedHandler TemplateRemoved; } internal delegate void RawBlacklistTemplateAddedHandler(string blacklistId, RawEvent addedTemplate); internal delegate void RawBlacklistTemplateRemovedHandler(string blacklistId, RawEvent removedTemplate); } zeitgeist-sharp-0.8.0.0/Zeitgeist/Client/ILog.cs0000644000175000017500000002502311562317216016274 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using Zeitgeist.Datamodel; using Zeitgeist; using DBus; namespace Zeitgeist.Client { /// /// Primary interface to the Zeitgeist engine. /// Used to update and query the log. /// It also provides means to listen for events matching certain criteria. /// All querying is heavily based around an “event template”-concept. /// [DBus.Interface ("org.gnome.zeitgeist.Log")] internal interface ILog { /// /// Get full event data for a set of event IDs /// Each event which is not found in the event log is represented by the null in the resulting List. /// /// /// An array of event IDs. /// /// /// Full event data for all the requested IDs /// RawEvent[] GetEvents(UInt32[] eventIds); /// /// Search for events matching a given set of templates and return the IDs of matching events. /// Use GetEvents() passing in the returned IDs to look up the full event data. /// The matching is done where unset fields in the templates are treated as wildcards. /// If a template has more than one subject then events will match the template if any one of their subjects match any one of the subject templates. /// The fields uri, interpretation, manifestation, origin, and mimetype can be prepended with an exclamation mark ‘!’ in order to negate the matching. /// The fields uri, origin, and mimetype can be prepended with an asterisk ‘*’ in order to do truncated matching. /// NOTE: /// This method is intended for queries potentially returning a large result set. /// It is especially useful in cases where only a portion of the results are to be displayed at the same time /// (eg., by using paging or dynamic scrollbars), as by holding a list of IDs you keep a stable ordering /// and you can ask for the details associated to them in batches, when you need them. /// For queries yielding a small amount of results, or where you need the information about all results at once no matter how many of them there are, see FindEvents(). /// /// /// The TimeRange for the query /// /// /// An array of event templates which the returned events should match at least one of. /// /// /// Whether the item is currently known to be available /// /// /// Maximal amount of returned events /// /// /// The Order in which the result should be made available /// /// /// An array containing the IDs of all matching events, up to a maximum of num_events events. /// Sorted and grouped as defined by the result_type parameter. /// UInt32[] FindEventIds(RawTimeRange range, RawEvent[] eventTemplates, UInt32 state, UInt32 maxEvents, UInt32 resType); /// /// Get events matching a given set of templates. /// The matching is done where unset fields in the templates are treated as wildcards. /// If a template has more than one subject then events will match the template if any one of their subjects match any one of the subject templates. /// The fields uri, interpretation, manifestation, origin, and mimetype can be prepended with an exclamation mark ‘!’ in order to negate the matching. /// The fields uri, origin, and mimetype can be prepended with an asterisk ‘*’ in order to do truncated matching. /// In case you need to do a query yielding a large (or unpredictable) result set and you only want to show some of the results at the same time (eg., by paging them), use FindEventIds(). /// /// /// The TimeRange for the query /// /// /// An array of event templates which the returned events should match at least one of /// /// /// Whether the item is currently known to be available /// /// /// Maximal amount of returned events /// /// /// The Order in which the result should be made available /// /// /// Full event data for all the requested IDs, up to a maximum of num_events events, sorted and grouped as defined by the result_type parameter. /// RawEvent[] FindEvents(RawTimeRange range, RawEvent[] eventTemplates, UInt32 state, UInt32 maxEvents, UInt32 resType); /// /// Warning: This API is EXPERIMENTAL and is not fully supported yet. /// Get a list of URIs of subjects which frequently occur together with events matching event_templates within time_range. /// The resulting URIs must occur as subjects of events matching result_event_templates and have storage state storage_state. /// /// /// The TimeRange for the query /// /// /// An array of event templates which you want URIs that relate to. /// /// /// An array of event templates which the returned URIs must occur as subjects of. /// /// /// Whether the item is currently known to be available /// /// /// Maximal amount of returned events /// /// /// The Order in which the result should be made available /// /// /// A list of URIs matching the described criteria /// string[] FindRelatedUris(RawTimeRange range, RawEvent[] eventTemplates, RawEvent[] resultEventTemplates, UInt32 state, UInt32 maxEvents, UInt32 resType); /// /// Inserts events into the log. Returns an array containing the IDs of the inserted events /// Each event which failed to be inserted into the log (either by being blocked or because of an error) will be represented by 0 in the resulting array. /// One way events may end up being blocked is if they match any of the blacklist templates. /// Any monitors with matching templates will get notified about the insertion. /// Note that the monitors are notified after the events have been inserted. /// /// /// List of events to be inserted in the log /// /// /// An array containing the event IDs of the inserted events. 0 as ID means failed to insert /// UInt32[] InsertEvents(RawEvent[] events); /// /// Register a client side monitor object to receive callbacks when events matching time_range and event_templates are inserted or deleted. /// /// /// The path to be monitored /// /// /// The time range under which Monitored events must fall within /// /// /// RawEvent templates that events must match in order to trigger the monitor /// void InstallMonitor(ObjectPath monitorPath, RawTimeRange range, RawEvent[] eventTemplates); /// /// Remove a monitor installed with InstallMonitor() /// /// /// The path of the monitor to be removed /// void RemoveMonitor(ObjectPath monitorPath); /// /// Delete a set of events from the log given their IDs /// /// /// The eventId of the Events to be deleted /// /// /// The TimeRange /// RawTimeRange DeleteEvents(UInt32[] eventIds); /// /// Delete the log file and all its content /// This method is used to delete the entire log file and all its content in one go. /// To delete specific subsets use FindEventIds() combined with DeleteEvents(). /// void DeleteLog(); /// /// Terminate the running Zeitgeist engine process; /// use with caution, this action must only be triggered with the user’s explicit consent, /// as it will affect all applications using Zeitgeist /// void Quit(); } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Client/IDataSource.cs0000644000175000017500000000716711560567332017622 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using Zeitgeist.Datamodel; using Zeitgeist; namespace Zeitgeist.Client { /// /// The Zeitgeist engine maintains a publicly available list of recognized data-sources /// (components inserting information into Zeitgeist). An option to disable such data-providers is also provided. /// [DBus.Interface ("org.gnome.zeitgeist.DataSourceRegistry")] internal interface IDataSource { /// /// Get the list of known data-sources. /// /// /// A list of RawDataSource /// RawDataSource[] GetDataSources(); /// /// Register a data-source as currently running. /// If the data-source was already in the database, its metadata (name, description and event_templates) are updated. /// /// /// The uniqueId DataSource /// /// /// The name of the DataSource /// /// /// Description of DataSource /// /// /// A list of RawEvent templates /// /// /// true is successful, false otherwise /// bool RegisterDataSource(string unique_id, string name, string description, RawEvent[] events); /// /// Enables/Disables the DataSource identified by a uniqueId /// /// /// The uniqueId of the DataSource /// /// /// Is the DataSource to be enabled(true) or disabled(false) /// void SetDataSourceEnabled(string unique_id, bool enabled); /// /// This signal is emitted whenever the last running instance of a data-source disconnects. /// event DataSourceDisconnectedHandler DataSourceDisconnected; /// /// This signal is emitted whenever a data-source is enabled or disabled. /// event DataSourceEnabledHandler DataSourceEnabled; /// /// This signal is emitted whenever a data-source registers itself. /// event DataSourceRegisteredHandler DataSourceRegistered; } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Client/IDBus.cs0000644000175000017500000000303111563045165016405 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using Zeitgeist.Datamodel; using Zeitgeist; using DBus; namespace Zeitgeist { [DBus.Interface ("org.freedesktop.DBus.Properties")] internal interface IDBus { object Get(string interfaceName, string propertyName); } } zeitgeist-sharp-0.8.0.0/Zeitgeist/DataSourceClient.cs0000644000175000017500000001277511560567332017433 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using System.Collections.Generic; using Zeitgeist.Client; using DBus; using Zeitgeist.Datamodel; namespace Zeitgeist { /// /// The Zeitgeist engine maintains a publicly available list of recognized data-sources /// (components inserting information into Zeitgeist). An option to disable such data-providers is also provided. /// public class DataSourceClient { /// /// The constructor for DataSourceClient /// /// /// This constructor gets the DBus object for DataSource which the object's methods use. /// Additionally it chains the events from IDataSource to DataSourceClient /// public DataSourceClient() { srcInterface = ZsUtils.GetDBusObject(objectPath); // Data Source Registered srcInterface.DataSourceRegistered += delegate(DataSource datasource) { if(this.DataSourceRegistered != null) { this.DataSourceRegistered(datasource); } }; // Data Source Enabled srcInterface.DataSourceEnabled += delegate(string dataSourceValue, bool enabled) { if(this.DataSourceEnabled != null) { this.DataSourceEnabled(dataSourceValue, enabled); } }; // Data Source Disconnected srcInterface.DataSourceDisconnected += delegate(DataSource datasource) { if(this.DataSourceDisconnected != null) { this.DataSourceDisconnected(datasource); } }; } /// /// Get the list of known data-sources. /// /// /// A list of DataSource of type /// public List GetDataSources() { RawDataSource[] srcs = srcInterface.GetDataSources(); List srcList = new List(); foreach(RawDataSource src in srcs) { DataSource et = RawDataSource.FromRaw(src); srcList.Add(et); } return srcList; } /// /// Register a data-source as currently running. /// If the data-source was already in the database, its metadata (name, description and event_templates) are updated. /// /// /// The uniqueId DataSource of type /// /// /// The name of the DataSource of type /// /// /// Description of DataSource of type /// /// /// A list of Event templates of type /// /// /// true is successful, false otherwise /// public bool RegisterDataSources(string uniqueId, string name, string description, List events) { List rawEventList = new List(); foreach(Event src in events) { RawEvent evnt = src.GetRawEvent(); rawEventList.Add(evnt); } return srcInterface.RegisterDataSource(uniqueId, name, description, rawEventList.ToArray()); } /// /// Enables/Disables the DataSource identified by a uniqueId /// /// /// The uniqueId of the DataSource of type /// /// /// Is the DataSource to be enabled(true) or disabled(false) /// void SetDataSourceEnabled(string uniqueId, bool enabled) { srcInterface.SetDataSourceEnabled(uniqueId, enabled); } /// /// This signal is emitted whenever the last running instance of a data-source disconnects. /// public event DataSourceDisconnectedHandler DataSourceDisconnected; /// /// This signal is emitted whenever a data-source is enabled or disabled. /// public event DataSourceEnabledHandler DataSourceEnabled; /// /// This signal is emitted whenever a data-source registers itself. /// public event DataSourceRegisteredHandler DataSourceRegistered; private IDataSource srcInterface; private static string objectPath = "/org/gnome/zeitgeist/data_source_registry"; } } zeitgeist-sharp-0.8.0.0/Zeitgeist/zeitgeist-sharp.pc.in0000644000175000017500000000020511560573213017742 00000000000000Name: zeitgeist-sharp Description: Zeitgeist C# binding Version: @VERSION@ Libs: -r:@expanded_libdir@/@PACKAGE@/zeitgeist-sharp.dll zeitgeist-sharp-0.8.0.0/Zeitgeist/Delegates.cs0000644000175000017500000000627011560567332016130 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using Zeitgeist.Datamodel; namespace Zeitgeist { /// /// This signal is emitted whenever the last running instance of a data-source disconnects. /// /// /// The disconnected data-source of type /// public delegate void DataSourceDisconnectedHandler(DataSource datasource); /// /// This signal is emitted whenever a data-source is enabled or disabled. /// /// /// Unique string identifier of a data-source /// /// /// true if it was enabled false if it was disabled. /// public delegate void DataSourceEnabledHandler(string dataSourceValue, bool enabled); /// /// This signal is emitted whenever a data-source registers itself. /// /// /// The registered data-source of type /// public delegate void DataSourceRegisteredHandler(DataSource datasource); /// /// This delegate handler for the event related to Blacklist Template addition /// /// /// The blacklist ID of type /// /// /// The blacklist template added /// public delegate void BlacklistTemplateAddedHandler(string blacklistId, Event addedTemplate); /// /// This delegate handler for the event related to Blacklist Template deletion /// /// /// The blacklist ID of type /// /// /// The blacklist template removed /// public delegate void BlacklistTemplateRemovedHandler(string blacklistId, Event removedTemplate); } zeitgeist-sharp-0.8.0.0/Zeitgeist/AssemblyInfo.cs.in0000644000175000017500000000211611515645011017215 00000000000000using System.Reflection; using System.Runtime.CompilerServices; // Information about this assembly is defined by the following attributes. // Change them to the values specific to your project. [assembly: AssemblyTitle("Zeitgeist")] [assembly: AssemblyDescription("Mono bindings for Zeitgeist DBus API")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Zeitgeist-Sharp Developers")] [assembly: AssemblyProduct("")] [assembly: AssemblyCopyright("(C) 2010 Zeitgeist-Sharp Developers")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. [assembly: AssemblyVersion("@ASSEMBLY_VERSION@")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. //[assembly: AssemblyDelaySign(false)] [assembly: AssemblyKeyFile("zeitgeist-sharp.snk")] zeitgeist-sharp-0.8.0.0/Zeitgeist/BlacklistClient.cs0000644000175000017500000001350511560567332017301 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using System.Collections.Generic; using Zeitgeist.Datamodel; using Zeitgeist.Client; using DBus; namespace Zeitgeist { /// /// The Zeitgeist engine maintains a list of event templates that is known as the blacklist. /// /// /// When inserting events via LogClient.InsertEvents they will be checked against the blacklist templates /// and if they match they will not be inserted in the log, and any matching monitors will not be signalled. /// public class BlacklistClient { /// /// The constructor for BlacklistClient /// /// /// This constructor gets the DBus object for BlacklistClient which the object's methods use /// public BlacklistClient() { srcInterface = ZsUtils.GetDBusObject(objectPath); // Connect the Template Added event srcInterface.TemplateAdded += delegate(string blacklistId, RawEvent addedTemplate) { Console.Out.WriteLine("Blacklist added for: "+blacklistId); if(this.TemplateAdded != null) this.TemplateAdded(blacklistId, RawEvent.FromRaw(addedTemplate)); }; // Connect the Template Removed event srcInterface.TemplateRemoved += delegate(string blacklistId, RawEvent removedTemplate) { Console.Out.WriteLine("Blacklist removed for: "+blacklistId); if(this.TemplateRemoved != null) this.TemplateRemoved(blacklistId, RawEvent.FromRaw(removedTemplate)); }; } /// /// Get the current blacklist templates. /// /// /// A dictionary of string as key and as the Blacklist template /// public Dictionary GetTemplates() { Dictionary rawBlackLists = srcInterface.GetTemplates(); Dictionary eventList = new Dictionary(); foreach(KeyValuePair pair in rawBlackLists) { eventList.Add(pair.Key, RawEvent.FromRaw(pair.Value)); } return eventList; } /// /// Add a blacklist template to the engine to stop the matching events to be inserted. /// If the event was inserted successfully then TemplateAdded event is raised /// /// /// The id of the blacklist template of the type /// /// /// The actual event template of type /// /// /// The event template provided is used to match the event to be inserted. The Properties /// not set are treated as wildcards. Timestamp is not taken under consideration /// public void AddTemplate(string blacklistId, Event eventTemplate) { srcInterface.AddTemplate(blacklistId, RawEvent.FromEvent(eventTemplate)); } /// /// Removes the blacklist from the engine if found. /// If the blacklist template was found and is removed then TemplateRemoved event is raised /// /// /// The blacklist template id for the template /// /// /// If the blacklist does not exist. No event is raised /// public void RemoveTemplate(string blacklistId) { srcInterface.RemoveTemplate(blacklistId); } /// /// Raised when a blacklist template is added /// /// /// When a new blacklist template is added to the engine, then this event is raised. /// The delegate is used for handle the events. /// This handler has two argument: /// 'blacklistId' of type and /// 'addedTemplate' of type /// public event BlacklistTemplateAddedHandler TemplateAdded; /// /// Raised when a blacklist template is removed /// /// /// When a new blacklist template is removed to the engine, then this event is raised. /// The delegate is used for handle the events. /// This handler has two argument: /// 'blacklistId' of type and /// 'removedTemplate' of type /// public event BlacklistTemplateRemovedHandler TemplateRemoved; #region Private Fields private IBlacklist srcInterface; private static string objectPath = "/org/gnome/zeitgeist/blacklist"; #endregion } } zeitgeist-sharp-0.8.0.0/Zeitgeist/ZsUtils.cs0000644000175000017500000001541611560567332015652 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using Zeitgeist.Datamodel; using Zeitgeist.Client; using System.Collections.Generic; using DBus; using org.freedesktop.DBus; namespace Zeitgeist { internal class ZsUtils { #region Event <--> RawEvent Conversions /// /// Converts a List of Events to a List of RawEvent /// /// /// A List of Events /// /// /// A List of RawEvents /// public static List ToRawEventList(List events) { List rawEvents = new List(); foreach(Event eventInst in events) { RawEvent rawEvnt = eventInst.GetRawEvent(); rawEvents.Add(rawEvnt); } return rawEvents; } /// /// Converts an Array of RawEvent to a List of Event /// /// /// An array of RawEvent /// /// /// A list of Event /// public static List FromRawEventList(RawEvent[] rawEvents) { List events = new List(); foreach(RawEvent rawEvent in rawEvents) { Event evnt = RawEvent.FromRaw(rawEvent); events.Add(evnt); } return events; } #endregion #region DateTime <--> UNIX Timestamp conversion /// /// Create an instance of System.DateTime from unsigned 64-bit integer representing UNIX Timestamp /// /// /// The UNIX Timestamp as Unsigned 64-bit integer /// /// /// The instance of /// public static DateTime ToDateTime(UInt64 timestamp) { DateTime time = Epoch.AddMilliseconds(timestamp); return time; } /// /// Create UNIX Timestamp from System.DateTime /// /// /// The instance of /// /// /// The UNIX Timestamp as a unsigned 64-bit integer. Type: /// public static UInt64 ToTimestamp(DateTime time) { TimeSpan now = time - Epoch; // Ticks is 100 nanoseconds. i.e. 1/10000 of a millisec UInt64 timestamp = (UInt64)(now.Ticks / 10000); return timestamp; } /// /// The DateTime of UNIX Epoch /// /// /// UNIX Epoch is January 01, 1970 00:00:00 UTC /// public static DateTime Epoch { get { return _epoch; } } public static IBus SignalBus { get { return _signalBus; } } private static DateTime _epoch = new DateTime(1970, 1,1, 0,0,0, DateTimeKind.Utc); private static IBus _signalBus = Bus.Session.GetObject ("org.freedesktop.DBus", new ObjectPath ("/org/freedesktop/DBus")); #endregion #region DBus Path /// /// The actual DBus path for Zeitgeist Engine /// public static string DBusPath { get { return _dBusPath; } } private static string _dBusPath = "org.gnome.zeitgeist.Engine"; #endregion #region Print Event, RawEvent public static void PrintEvent(Event e) { Console.WriteLine("ID: "+e.Id); Console.WriteLine("Interpretation: "+e.Interpretation.Name); Console.WriteLine("Manifestation: "+e.Manifestation.Name); Console.WriteLine("Timestamp: "+e.Timestamp.ToLongTimeString()); Console.WriteLine("Actor: "+e.Actor); foreach(Subject sub in e.Subjects) { Console.WriteLine("URI: "+sub.Uri); Console.WriteLine("Interpretation: "+sub.Interpretation.Name); Console.WriteLine("Manifestation: "+sub.Manifestation.Name); Console.WriteLine("Mimetype: "+sub.MimeType); Console.WriteLine("Text: "+sub.Text); } } public static void PrintRawEvent(RawEvent e) { if(e.metadata == null) Console.WriteLine("RawEevent metadata in null"); if(e.subjects == null) Console.WriteLine("RawEevent subjects in null"); Console.WriteLine("ID: "+e.metadata[0]); Console.WriteLine("Interpretation: "+e.metadata[1]); Console.WriteLine("Manifestation: "+e.metadata[2]); Console.WriteLine("Timestamp: "+e.metadata[3]); Console.WriteLine("Actor: "+e.metadata[4]); foreach(string[] sub in e.subjects) { Console.WriteLine("URI: "+sub[0]); Console.WriteLine("Interpretation: "+sub[1]); Console.WriteLine("Manifestation: "+sub[2]); Console.WriteLine("Mimetype: "+sub[4]); Console.WriteLine("Text: "+sub[5]); } } #endregion /// /// Get an instance of DBus object for the provided objectPath /// /// /// The object path of the DBus /// /// /// The Generic Interface Type representing the DBus interface for the object path /// public static T GetDBusObject(string objectPath) { BusG.Init(); // Create the ObjectPath from the path provided ObjectPath objPath = new ObjectPath(objectPath); Bus sessionBus = Bus.Session; T interfaceInst = sessionBus.GetObject(ZsUtils.DBusPath, objPath); return interfaceInst; } public static string GetStringAnchor(string str) { if(str != null) { int pos = str.IndexOf('#'); return str.Substring(pos+1); } else return null; } } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Makefile.am0000644000175000017500000000262311466261060015730 00000000000000OUTPUT_DIR = $(top_builddir)/bin OBJECT_DIR = $(OUTPUT_DIR)/obj SOURCE_PATTERNS = *.cs */*.cs */*/*.cs */*/*/*.cs XBUILD_FLAGS = /p:Configuration=Debug /p:WarningLevel=0 /p:OutputPath=$(abspath $(OUTPUT_DIR)) /p:BaseIntermediateOutputPath=$(abspath $(OBJECT_DIR))/ /p:DocumentationFile= ZS_SOURCE_FILES = $(foreach pattern, $(SOURCE_PATTERNS), $(wildcard $(pattern))) ZS_ASSEMBLY_NAME = zeitgeist-sharp ZS_ASSEMBLY_TARGET = $(OUTPUT_DIR)/$(ZS_ASSEMBLY_NAME).dll ZS_ASSEMBLY_PC = $(srcdir)/$(PACKAGE_NAME).pc ZS_BUILD_FILE = $(srcdir)/Zeitgeist.csproj ZS_XBUILD_FLAGS = $(XBUILD_FLAGS) ZS_GACUTIL_INSTALL = $(GACUTIL) -i $(ZS_ASSEMBLY_TARGET) -f $(GACUTIL_FLAGS) ZS_GACUTIL_UNINSTALL = $(GACUTIL) -u $(ZS_ASSEMBLY_NAME) $(GACUTIL_FLAGS) # magic automake variables pkglib_DATA = \ $(ZS_ASSEMBLY_TARGET) $(ZS_ASSEMBLY_TARGET).mdb EXTRA_DIST = \ $(ZS_SOURCE_FILES) $(ZS_BUILD_FILE) zeitgeist-sharp.snk pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = $(ZS_ASSEMBLY_PC) # end of magic $(ZS_ASSEMBLY_TARGET) $(ZS_ASSEMBLY_TARGET).mdb: $(ZS_BUILD_FILE) $(ZS_SOURCE_FILES) $(XBUILD) $(ZS_XBUILD_FLAGS) $(ZS_BUILD_FILE) clean-local: $(XBUILD) $(ZS_XBUILD_FLAGS) /t:Clean $(ZS_BUILD_FILE) install-data-local: $(ZS_ASSEMBLY_TARGET) $(ZS_ASSEMBLY_TARGET).mdb echo "$(ZS_GACUTIL_INSTALL)"; \ $(ZS_GACUTIL_INSTALL) || exit 1; uninstall-local: echo "$(ZS_GACUTIL_UNINSTALL)"; \ $(ZS_GACUTIL_UNINSTALL) || exit 1; zeitgeist-sharp-0.8.0.0/Zeitgeist/Makefile.in0000644000175000017500000003335611563046212015746 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in 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. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = Zeitgeist DIST_COMMON = $(srcdir)/AssemblyInfo.cs.in $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/zeitgeist-sharp.pc.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/expansions.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = zeitgeist-sharp.pc AssemblyInfo.cs CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pkglibdir)" DATA = $(pkgconfig_DATA) $(pkglib_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ ASSEMBLY_VERSION = @ASSEMBLY_VERSION@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CYGPATH_W = @CYGPATH_W@ DBUS_SHARP_10_CFLAGS = @DBUS_SHARP_10_CFLAGS@ DBUS_SHARP_10_LIBS = @DBUS_SHARP_10_LIBS@ DBUS_SHARP_GLIB_10_CFLAGS = @DBUS_SHARP_GLIB_10_CFLAGS@ DBUS_SHARP_GLIB_10_LIBS = @DBUS_SHARP_GLIB_10_LIBS@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@ GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@ GMCS = @GMCS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MONO_CFLAGS = @MONO_CFLAGS@ MONO_LIBS = @MONO_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ XBUILD = @XBUILD@ ZEITGEIST_DAEMON_CFLAGS = @ZEITGEIST_DAEMON_CFLAGS@ ZEITGEIST_DAEMON_LIBS = @ZEITGEIST_DAEMON_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ expanded_bindir = @expanded_bindir@ expanded_datadir = @expanded_datadir@ expanded_libdir = @expanded_libdir@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ OUTPUT_DIR = $(top_builddir)/bin OBJECT_DIR = $(OUTPUT_DIR)/obj SOURCE_PATTERNS = *.cs */*.cs */*/*.cs */*/*/*.cs XBUILD_FLAGS = /p:Configuration=Debug /p:WarningLevel=0 /p:OutputPath=$(abspath $(OUTPUT_DIR)) /p:BaseIntermediateOutputPath=$(abspath $(OBJECT_DIR))/ /p:DocumentationFile= ZS_SOURCE_FILES = $(foreach pattern, $(SOURCE_PATTERNS), $(wildcard $(pattern))) ZS_ASSEMBLY_NAME = zeitgeist-sharp ZS_ASSEMBLY_TARGET = $(OUTPUT_DIR)/$(ZS_ASSEMBLY_NAME).dll ZS_ASSEMBLY_PC = $(srcdir)/$(PACKAGE_NAME).pc ZS_BUILD_FILE = $(srcdir)/Zeitgeist.csproj ZS_XBUILD_FLAGS = $(XBUILD_FLAGS) ZS_GACUTIL_INSTALL = $(GACUTIL) -i $(ZS_ASSEMBLY_TARGET) -f $(GACUTIL_FLAGS) ZS_GACUTIL_UNINSTALL = $(GACUTIL) -u $(ZS_ASSEMBLY_NAME) $(GACUTIL_FLAGS) # magic automake variables pkglib_DATA = \ $(ZS_ASSEMBLY_TARGET) $(ZS_ASSEMBLY_TARGET).mdb EXTRA_DIST = \ $(ZS_SOURCE_FILES) $(ZS_BUILD_FILE) zeitgeist-sharp.snk pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = $(ZS_ASSEMBLY_PC) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Zeitgeist/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Zeitgeist/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): zeitgeist-sharp.pc: $(top_builddir)/config.status $(srcdir)/zeitgeist-sharp.pc.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ AssemblyInfo.cs: $(top_builddir)/config.status $(srcdir)/AssemblyInfo.cs.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files install-pkglibDATA: $(pkglib_DATA) @$(NORMAL_INSTALL) test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \ done uninstall-pkglibDATA: @$(NORMAL_UNINSTALL) @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pkglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-pkgconfigDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-pkglibDATA install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local uninstall-pkgconfigDATA \ uninstall-pkglibDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-local \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-data-local install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-pkgconfigDATA install-pkglibDATA install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ uninstall-am uninstall-local uninstall-pkgconfigDATA \ uninstall-pkglibDATA # end of magic $(ZS_ASSEMBLY_TARGET) $(ZS_ASSEMBLY_TARGET).mdb: $(ZS_BUILD_FILE) $(ZS_SOURCE_FILES) $(XBUILD) $(ZS_XBUILD_FLAGS) $(ZS_BUILD_FILE) clean-local: $(XBUILD) $(ZS_XBUILD_FLAGS) /t:Clean $(ZS_BUILD_FILE) install-data-local: $(ZS_ASSEMBLY_TARGET) $(ZS_ASSEMBLY_TARGET).mdb echo "$(ZS_GACUTIL_INSTALL)"; \ $(ZS_GACUTIL_INSTALL) || exit 1; uninstall-local: echo "$(ZS_GACUTIL_UNINSTALL)"; \ $(ZS_GACUTIL_UNINSTALL) || exit 1; # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: zeitgeist-sharp-0.8.0.0/Zeitgeist/zeitgeist-sharp.snk0000644000175000017500000000112411460334371017526 00000000000000$RSA2j6д+3G̓6oᵕ!)䁭/4HXZ}gO ң]}cC2΍lEI'=Q:Y^!ImJLώq0lT#^2BRl"fg}Z!YkTgӢof?6ű'A6ǵ>!ԂYdotLLS'kvEʭdU0T;VҦ<|Wg?]YH,? 0o 囥I9ikλU d|kg $3`@$~?+pZdv8+$_ nu(%9|[+oU`iM&kTAjδ!fz7GD(kҦ?5x*)ӧR>c7_kJ؂.~mE:9R{olzeitgeist-sharp-0.8.0.0/Zeitgeist/DBusInterface/0000755000175000017500000000000011563046376016440 500000000000000zeitgeist-sharp-0.8.0.0/Zeitgeist/DBusInterface/DataSourceRegistry.cs0000644000175000017500000000121311460334371022456 00000000000000using System; using NDesk.DBus; using org.freedesktop; using org.freedesktop.DBus; using Zeitgeist.ZeitgeistSharp.Datamodel; namespace Zeitgeist.ZeitgeistSharp.DBusInterface { [NDesk.DBus.Interface ("org.gnome.zeitgeist.DataSourceRegistry")] public interface DataSourceRegistry { DataSource[] GetDataSources(); bool RegisterDataSources(string unique_id, string name, string description, Event[] events); void SetDataSourceEnabled(string unique_id, bool enabled); event DataSourceDisconnectedHandler DataSourceDisconnected; event DataSourceEnabledHandler DataSourceEnabled; event DataSourceRegisteredHandler DataSourceRegistered; } } zeitgeist-sharp-0.8.0.0/Zeitgeist/AssemblyInfo.cs0000644000175000017500000000210311563046214016607 00000000000000using System.Reflection; using System.Runtime.CompilerServices; // Information about this assembly is defined by the following attributes. // Change them to the values specific to your project. [assembly: AssemblyTitle("Zeitgeist")] [assembly: AssemblyDescription("Mono bindings for Zeitgeist DBus API")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Zeitgeist-Sharp Developers")] [assembly: AssemblyProduct("")] [assembly: AssemblyCopyright("(C) 2010 Zeitgeist-Sharp Developers")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". // The form "{Major}.{Minor}.*" will automatically update the build and revision, // and "{Major}.{Minor}.{Build}.*" will update just the revision. [assembly: AssemblyVersion("0.8.0.0")] // The following attributes are used to specify the signing key for the assembly, // if desired. See the Mono documentation for more information about signing. //[assembly: AssemblyDelaySign(false)] [assembly: AssemblyKeyFile("zeitgeist-sharp.snk")] zeitgeist-sharp-0.8.0.0/Zeitgeist/LogClient.cs0000644000175000017500000004003611563043414016102 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using System.Collections.Generic; using Zeitgeist.Datamodel; using Zeitgeist.Client; using DBus; using System.Linq; using org.freedesktop.DBus; namespace Zeitgeist { /// /// Primary interface to the Zeitgeist engine. /// /// /// Used to update and query the log. /// It also provides means to listen for events matching certain criteria. /// All querying is heavily based around an “event template”-concept. /// public class LogClient { /// /// The constructor for LogClient /// /// /// This constructor gets the DBus object for LogClient which the object's methods use /// public LogClient() { this.setUpClient(); listOfMonitors = new List(); // When bus name changes ZsUtils.SignalBus.NameOwnerChanged += NameOwnerChanged; } private void NameOwnerChanged(string name, string old_owner, string new_owner) { // If Engine is restarted, re-connect in case it does not get re-connected if(string.Equals(name, "org.gnome.zeitgeist.Engine", StringComparison.OrdinalIgnoreCase)) setUpClient(); // Install the monitors which were lost after the Daemon was restarted foreach(MonitorData monData in listOfMonitors) { Console.Out.WriteLine("Restoring monitor for: "+ monData.Path.ToString()); srcInterface.InstallMonitor(monData.Path, monData.Range, monData.Events.ToArray()); } } private void setUpClient() { srcInterface = ZsUtils.GetDBusObject(objectPath); dbusInterface = ZsUtils.GetDBusObject(objectPath); } #region Fetch, Insert and Delete Events /// /// Get full event data for a set of event IDs /// Each event which is not found in the event log is represented by the null in the resulting List. /// /// /// An array of event IDs /// /// /// Full event data for all the requested IDs of type /// public List GetEvents(List eventIds) { RawEvent[] rawEvents = srcInterface.GetEvents(eventIds.ToArray()); return ZsUtils.FromRawEventList(rawEvents); } /// /// Inserts events into the log. Returns an array containing the IDs of the inserted events /// /// /// Each event which failed to be inserted into the log (either by being blocked or because of an error) will be represented by 0 in the resulting array. /// One way events may end up being blocked is if they match any of the blacklist templates. /// Any monitors with matching templates will get notified about the insertion. /// Note that the monitors are notified after the events have been inserted. /// /// /// List of events to be inserted in the log /// /// /// An array containing the event IDs (type ) of the inserted events. 0 as ID means failed to insert /// public List InsertEvents(List events) { List rawEvents = ZsUtils.ToRawEventList(events); UInt32[] eventIds = srcInterface.InsertEvents(rawEvents.ToArray()); return new List(eventIds); } /// /// Delete a set of events from the log given their IDs /// If all the Event ID provided does not exist, then null is returned /// /// /// The eventId (of type ) of the Events to be deleted /// /// /// The TimeRange /// public TimeRange DeleteEvents(List eventIds) { RawTimeRange rawRange = srcInterface.DeleteEvents(eventIds.ToArray()); if(rawRange.Begin < 0 && rawRange.End < 0) return null; else return new TimeRange(rawRange.Begin, rawRange.End); } #endregion #region Search /// /// Search for events matching a given set of templates and return the IDs of matching events. /// Use GetEvents() passing in the returned IDs to look up the full event data. /// The matching is done where unset fields in the templates are treated as wildcards. /// If a template has more than one subject then events will match the template if any one of their subjects match any one of the subject templates. /// The fields uri, interpretation, manifestation, origin, and mimetype can be prepended with an exclamation mark ‘!’ in order to negate the matching. /// The fields uri, origin, and mimetype can be prepended with an asterisk ‘*’ in order to do truncated matching. /// /// /// This method is intended for queries potentially returning a large result set. /// It is especially useful in cases where only a portion of the results are to be displayed at the same time /// (eg., by using paging or dynamic scrollbars), as by holding a list of IDs you keep a stable ordering /// and you can ask for the details associated to them in batches, when you need them. /// For queries yielding a small amount of results, or where you need the information about all results at once no matter how many of them there are, see FindEvents(). /// /// /// The TimeRange for the query /// /// /// An List of event templates which the returned events should match at least one of. /// /// /// Value of type whether the item is currently known to be available /// /// /// Maximal amount of returned events /// /// /// The Order in which the result should be made available /// /// /// An array of type containing the IDs of all matching events, up to a maximum of num_events events. /// Sorted and grouped as defined by the result_type parameter. /// public List FindEventIds(TimeRange range, List eventTemplates, StorageState state, uint maxEvents, ResultType resType) { RawEvent[] rawEventTemplates = ZsUtils.ToRawEventList(eventTemplates).ToArray(); RawTimeRange rawRange = new RawTimeRange(); rawRange.Begin = (long)ZsUtils.ToTimestamp(range.Begin); rawRange.End = (long)ZsUtils.ToTimestamp(range.End); UInt32[] eventIds = srcInterface.FindEventIds(rawRange, rawEventTemplates, (uint)state, maxEvents, (uint) resType); return new List(eventIds); } /// /// Get events matching a given set of templates. /// The matching is done where unset fields in the templates are treated as wildcards. /// If a template has more than one subject then events will match the template if any one of their subjects match any one of the subject templates. /// /// /// The fields uri, interpretation, manifestation, origin, and mimetype can be prepended with an exclamation mark ‘!’ in order to negate the matching. /// The fields uri, origin, and mimetype can be prepended with an asterisk ‘*’ in order to do truncated matching. /// In case you need to do a query yielding a large (or unpredictable) result set and you only want to show some of the results at the same time (eg., by paging them), use FindEventIds(). /// /// /// The TimeRange for the query /// /// /// An array of event templates of type which the returned events should match at least one of /// /// /// Value of type whether the item is currently known to be available /// /// /// Maximal amount of returned events /// /// /// The Order in which the result should be made available /// /// /// Full event data of type for all the requested IDs, up to a maximum of num_events events, sorted and grouped as defined by the result_type parameter. /// public List FindEvents(TimeRange range, List eventTemplates, StorageState state, uint maxEvents, ResultType resType) { RawEvent[] rawEventTemplates = ZsUtils.ToRawEventList(eventTemplates).ToArray(); RawTimeRange rawRange = new RawTimeRange(); rawRange.Begin = (long)ZsUtils.ToTimestamp(range.Begin); rawRange.End = (long)ZsUtils.ToTimestamp(range.End); RawEvent[] events = srcInterface.FindEvents(rawRange, rawEventTemplates, (uint)state, maxEvents, (uint) resType); return ZsUtils.FromRawEventList(events); } /// /// Get a list of URIs of subjects which frequently occur together with events matching event_templates within time_range. /// The resulting URIs must occur as subjects of events matching result_event_templates and have storage state storage_state. /// /// /// Warning: This API is EXPERIMENTAL and is not fully supported yet. /// /// /// The TimeRange for the query /// /// /// An List of event templates which you want URIs that relate to. /// /// /// An array of event templates which the returned URIs must occur as subjects of. /// /// /// Value of type whether the item is currently known to be available /// /// /// Maximal amount of returned events /// /// /// The Order in which the result should be made available /// /// /// A list of URIs matching the described criteria /// public List FindRelatedUris(TimeRange range, List eventTemplates, List resultEventTemplates, StorageState state, uint maxEvents, ResultType resType) { RawEvent[] rawEvents = ZsUtils.ToRawEventList(eventTemplates).ToArray(); RawEvent[] rawEventTemplates = ZsUtils.ToRawEventList(resultEventTemplates).ToArray(); RawTimeRange rawRange = new RawTimeRange(); rawRange.Begin = (long)ZsUtils.ToTimestamp(range.Begin); rawRange.End = (long)ZsUtils.ToTimestamp(range.End); string[] uris = srcInterface.FindRelatedUris(rawRange, rawEvents, rawEventTemplates, (uint)state, maxEvents, (uint) resType); return new List(uris); } #endregion #region Monitors /// /// Register a client side monitor object to receive callbacks when events matching time_range and event_templates are inserted or deleted. /// /// /// The path to be monitored /// /// /// The time range under which Monitored events must fall within /// /// /// Event templates that events must match in order to trigger the monitor /// public void InstallMonitor(string monitorPath, TimeRange range, List eventTemplates) { RawTimeRange rawRange = new RawTimeRange(); rawRange.Begin = (long)ZsUtils.ToTimestamp(range.Begin); rawRange.End = (long)ZsUtils.ToTimestamp(range.End); ObjectPath path = new ObjectPath(monitorPath); List rawEvents = ZsUtils.ToRawEventList(eventTemplates); // Store all the monitors listOfMonitors.Add(new MonitorData(){Path=path, Range=rawRange, Events=rawEvents}); srcInterface.InstallMonitor(path, rawRange, rawEvents.ToArray()); } /// /// Remove a monitor installed with InstallMonitor() /// /// /// The path of the monitor to be removed /// public void RemoveMonitor(string monitorPath) { ObjectPath path = new ObjectPath(monitorPath); srcInterface.RemoveMonitor(path); // Find and remove the deleted Monitor MonitorData removedMonitor = listOfMonitors.Find(monitor => ObjectPath.Equals(monitor.Path,path)); listOfMonitors.Remove(removedMonitor); } #endregion /// /// Delete the log file and all its content /// /// /// This method is used to delete the entire log file and all its content in one go. /// To delete specific subsets use FindEventIds() combined with DeleteEvents(). /// public void DeleteLog() { srcInterface.DeleteLog(); } /// /// Terminate the running Zeitgeist engine process /// /// /// Use with caution, this action must only be triggered with the user’s explicit consent, /// as it will affect all applications using Zeitgeist /// public void Quit() { srcInterface.Quit(); } #region Properties /// /// The list of zeitgeist daemon extension loaded by the engine /// /// /// Examples are Blacklist, DataSourceRegistry, Full-Text-Search, StorageMonitor etc /// public List Extensions { get { object exten = dbusInterface.Get("org.gnome.zeitgeist.Log", "extensions"); if(exten != null && exten.GetType() == typeof(System.String[])) { return new List((string[])exten); } else return new List(); } } #endregion private ILog srcInterface; private IDBus dbusInterface; private static string objectPath = "/org/gnome/zeitgeist/log/activity"; private List listOfMonitors; } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/0000755000175000017500000000000011563046376015654 500000000000000zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/NameUri.cs0000644000175000017500000000367411463544204017465 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using org.freedesktop; using org.freedesktop.DBus; using System.Collections.Generic; namespace Zeitgeist.Datamodel { /// /// The type which holds a pair of values. The pair is Name and Uri /// public class NameUri { public NameUri() { Name = string.Empty; Uri = string.Empty; } public NameUri(string name, string uri) { Name = name; Uri = uri; } /// /// The name associated with this container type /// public string Name { get; set;} /// /// The Uri associated with this container type /// public string Uri { get; set;} } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/TimeRange.cs0000644000175000017500000000635611463544220017776 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; namespace Zeitgeist.Datamodel { /// /// The type which deals with Start and End time for an event. /// public class TimeRange { public TimeRange() { } /// /// Create a TimeRange instance from the start and end values given as milliseconds since Epoch /// /// /// The start time. The millseconds since Epoch /// /// /// The end time. The millseconds since Epoch /// public TimeRange(Int64 startTime, Int64 endTime) { _begin = ZsUtils.ToDateTime((ulong)startTime); _end = ZsUtils.ToDateTime((ulong)endTime); } /// /// Create an instance of TimeRange from the values provided as per CLR DateTime instance representation /// /// /// The start time /// /// /// The end time /// public TimeRange(DateTime startTime, DateTime endTime) { _begin = startTime; _end = endTime; } /// /// The begin Timestamp of the event. Seconds elapsed since Epoch /// public DateTime Begin { get { return _begin; } set { _begin = value; } } /// /// The end Timestamp of the event. Seconds elapsed since Epoch /// public DateTime End { get { return _end; } set { _end = value; } } #region Private Fields private DateTime _begin; private DateTime _end; #endregion } internal class RawTimeRange { public Int64 Begin { get { return _begin; } set { _begin = value; } } public Int64 End { get { return _end; } set { _end = value; } } #region Private Fields public Int64 _begin; public Int64 _end; #endregion } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/Manifestation.cs0000644000175000017500000004522511463544175020733 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using System.Collections.Generic; namespace Zeitgeist.Datamodel { /// /// The manifestation type of an event or subject is an abstract classification of “how did this happen” or “how does this item exist”. /// Each manifestation type is uniquely identified by a URI. This class provides a list of hard coded URI constants for programming convenience. In addition; each interpretation instance in this class has a display_name property, which is an internationalized string meant for end user display. /// /// /// The manifestation types listed here are all subclasses of str and may be used anywhere a string would be used. /// Manifestations form a hierarchical type tree. So that fx. ArchiveItem, Attachment, and RemoteDataObject all are sub types of FileDataObject. These types can again have their own sub types. /// Templates match on all sub types, so that a query on subjects with manifestation FileDataObject also match subjects of types Attachment or ArchiveItem and all other sub types of FileDataObject . (Display name: '') /// public class Manifestation { public static Manifestation Instance { get { if(_singleton_obj == null) _singleton_obj = new Manifestation(); return _singleton_obj; } } /// /// A DataObject found in a calendar. It is usually interpreted as one of the calendar entity types (e.g. Event, Journal, Todo etc.). (Display name: 'CalendarDataObject') /// /// /// http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#CalendarDataObject /// public NameUri CalendarDataObject { get { return _cal_data_obj; } } /// /// Base class for event manifestation types. Please do no instantiate directly, but use one of the sub classes. The manifestation of an event describes ‘how it happened’. Fx. ‘the user did this’ or ‘the system notified the user’. (Display name: 'EVENT_MANIFESTATION') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#EventManifestation /// public EventManifestationType EventManifestation { get { return _event_manifestation; } } /// /// A resource containing a finite sequence of bytes with arbitrary information, that is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished. (Display name: 'File') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject /// public FileDataObjectType FileDataObject { get { return _file_data_obj; } } /// /// A partition on a hard disk. (Display name: 'HardDiskPartition') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#HardDiskPartition /// public NameUri HardDiskPartition { get { return _hd_partition; } } /// /// An entity encountered in a mailbox. Most common interpretations for such an entity include Message or Folder. (Display name: 'MailboxDataObject') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#MailboxDataObject /// public NameUri MailboxDataObject { get { return _mailbox_data_obj; } } /// /// A stream of multimedia content, usually contained within a media container such as a movie (containing both audio and video) or a DVD (possibly containing many streams of audio and video). Most common interpretations for such a DataObject include Audio and Video. (Display name: 'MediaStream') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#MediaStream /// public NameUri MediaStream { get { return _media_stream; } } /// /// An address specifying a remote host and port. Such an address can be interpreted in many ways (examples of such interpretations include mailboxes, websites, remote calendars or filesystems), depending on an interpretation, various kinds of data may be extracted from such an address. (Display name: 'RemotePortAddress') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#RemotePortAddress /// public NameUri RemotePortAddress { get { return _remote_port_addr; } } /// /// A DataObject representing a piece of software. Examples of interpretations of a SoftwareItem include an Application and an OperatingSystem. (Display name: 'SoftwareItem') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#SoftwareItem /// public NameUri SoftwareItem { get { return _sw_item; } } /// /// A service published by a piece of software, either by an operating system or an application. Examples of such services may include calendar, addresbook and mailbox managed by a PIM application. This category is introduced to distinguish between data available directly from the applications (Via some Interprocess Communication Mechanisms) and data available from files on a disk. In either case both DataObjects would receive a similar interpretation (e.g. a Mailbox) and wouldn’t differ on the content level. (Display name: 'SoftwareService') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#SoftwareService /// public NameUri SoftwareService { get { return _sw_service; } } public NameUri Search(string manifestation) { if(string.Equals(_cal_data_obj.Uri, manifestation)) return _cal_data_obj; NameUri event_manifestation = _event_manifestation.Search(manifestation); if(event_manifestation != null) return event_manifestation; NameUri file_data_obj = _file_data_obj.Search(manifestation); if(file_data_obj != null) return file_data_obj; if(string.Equals(_hd_partition.Uri, manifestation)) return _hd_partition; if(string.Equals(_mailbox_data_obj.Uri, manifestation)) return _mailbox_data_obj; if(string.Equals(_media_stream.Uri, manifestation)) return _media_stream; if(string.Equals(_remote_port_addr.Uri, manifestation)) return _remote_port_addr; if(string.Equals(_sw_item.Uri, manifestation)) return _sw_item; if(string.Equals(_sw_service.Uri, manifestation)) return _sw_service; return new NameUri(ZsUtils.GetStringAnchor(manifestation), manifestation); } #region Private Fields private static Manifestation _singleton_obj = new Manifestation(); private NameUri _cal_data_obj = new NameUri("CalendarDataObject", "http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#CalendarDataObject"); private EventManifestationType _event_manifestation = new EventManifestationType(); private FileDataObjectType _file_data_obj = new FileDataObjectType(); private NameUri _hd_partition = new NameUri("HardDiskPartition", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#HardDiskPartition"); private NameUri _mailbox_data_obj = new NameUri("MailboxDataObject", "http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#MailboxDataObject"); private NameUri _media_stream = new NameUri("MediaStream", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#MediaStream"); private NameUri _remote_port_addr = new NameUri("RemotePortAddress", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#RemotePortAddress"); private NameUri _sw_item = new NameUri("SoftwareItem", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#SoftwareItem"); private NameUri _sw_service = new NameUri("SoftwareService", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#SoftwareService"); #endregion } public class EventManifestationType { /// /// Base class for event manifestation types. Please do no instantiate directly, but use one of the sub classes. The manifestation of an event describes ‘how it happened’. Fx. ‘the user did this’ or ‘the system notified the user’. (Display name: 'EVENT_MANIFESTATION') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#EventManifestation /// public NameUri EventManifestation { get { return _evnt_manifest; } } /// /// An event that is caused indirectly from user activity or deducted via analysis of other events. Fx. if an algorithm divides a user workflow into disjoint ‘projects’ based on temporal analysis it could insert heuristic events when the user changed project. (Display name: 'HEURISTIC_ACTIVITY') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#HeuristicActivity /// public NameUri HeuristicActivity { get { return _heur_activity; } } /// /// An event that was directly triggered by some user initiated sequence of actions. For example a music player automatically changing to the next song in a playlist. (Display name: 'SCHEDULED_ACTIVITY') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#ScheduledActivity /// public NameUri ScheduledActivity { get { return _schld_activity; } } /// /// An event send to the user by the operating system. Examples could include when the user inserts a USB stick or when the system warns that the hard disk is full. (Display name: 'SYSTEM_NOTIFICATION') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#SystemNotification /// public NameUri SystemNotification { get { return _sys_notification; } } /// /// An event that was actively performed by the user. For example saving or opening a file by clicking on it in the file manager. (Display name: 'USER_ACTIVITY') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#UserActivity /// public NameUri UserActivity { get { return _user_activity; } } /// /// An event that was performed by an entity, usually human or organization, other than the user. An example could be logging the activities of other people in a team. (Display name: 'WORLD_ACTIVITY') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#WorldActivity /// public NameUri WorldActivity { get { return _world_activity; } } public NameUri Search(string manifestation) { if(string.Equals(_evnt_manifest.Uri, manifestation)) return _evnt_manifest; if(string.Equals(_heur_activity.Uri, manifestation)) return _heur_activity; if(string.Equals(_schld_activity.Uri, manifestation)) return _schld_activity; if(string.Equals(_sys_notification.Uri, manifestation)) return _sys_notification; if(string.Equals(_user_activity.Uri, manifestation)) return _user_activity; if(string.Equals(_world_activity.Uri, manifestation)) return _world_activity; return null; } #region Private Fields private NameUri _evnt_manifest = new NameUri("EventManifestation", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#EventManifestation"); private NameUri _heur_activity = new NameUri("HeuristicActivity", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#HeuristicActivity"); private NameUri _schld_activity = new NameUri("ScheduledActivity", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#ScheduledActivity"); private NameUri _sys_notification = new NameUri("SystemNotification", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#SystemNotification"); private NameUri _user_activity = new NameUri("UserActivity", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#UserActivity"); private NameUri _world_activity = new NameUri("WorldActivity", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#WorldActivity"); #endregion } public class FileDataObjectType { /// /// A resource containing a finite sequence of bytes with arbitrary information, that is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished. (Display name: 'File') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject /// public NameUri FileDataObject { get { return _file_data_obj; } } /// /// A file entity that has been deleted from the original source. Usually such entities are stored within various kinds of ‘Trash’ or ‘Recycle Bin’ folders. (Display name: 'DeletedResource') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DeletedResource /// public NameUri DeletedResource { get { return _deleted_resc; } } /// /// A file embedded in another data object. There are many ways in which a file may be embedded in another one. Use this class directly only in cases if none of the subclasses gives a better description of your case. (Display name: 'EmbeddedFileDataObject') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#EmbeddedFileDataObject /// public EmbeddedFileDataObjectType EmbeddedFileDataObject { get { return _embedded_file_data_obj; } } /// /// A file data object stored at a remote location. Don’t confuse this class with a RemotePortAddress. This one applies to a particular resource, RemotePortAddress applies to an address, that can have various interpretations. (Display name: 'RemoteDataObject') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#RemoteDataObject /// public NameUri RemoteDataObject { get { return _remote_data_obj; } } public NameUri Search(string manifestation) { if(string.Equals(_file_data_obj.Uri, manifestation)) return _file_data_obj; if(string.Equals(_deleted_resc.Uri, manifestation)) return _deleted_resc; NameUri embedded_file_data_obj = _embedded_file_data_obj.Search(manifestation); if(embedded_file_data_obj != null) return embedded_file_data_obj; if(string.Equals(_remote_data_obj.Uri, manifestation)) return _remote_data_obj; return null; } #region Private Fields private NameUri _file_data_obj = new NameUri("FileDataObject", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"); private NameUri _deleted_resc = new NameUri("DeletedResource", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DeletedResource"); private EmbeddedFileDataObjectType _embedded_file_data_obj = new EmbeddedFileDataObjectType(); private NameUri _remote_data_obj = new NameUri("RemoteDataObject", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#RemoteDataObject"); #endregion } public class EmbeddedFileDataObjectType { /// /// A file embedded in another data object. There are many ways in which a file may be embedded in another one. Use this class directly only in cases if none of the subclasses gives a better description of your case. (Display name: 'EmbeddedFileDataObject') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#EmbeddedFileDataObject /// public NameUri EmbeddedFileDataObject { get { return _embedded_file_data_obj; } } /// /// A file entity inside an archive. (Display name: 'ArchiveItem') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#ArchiveItem /// public NameUri ArchiveItem { get { return _archive_item; } } /// /// An object attached to a calendar entity. This class has been introduced to serve as a structured value of the ncal:attach property. See the documentation of ncal:attach for details. (Display name: 'Attachment') /// /// /// http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Attachment /// public NameUri Attachment { get { return _attachment; } } public NameUri Search(string manifestation) { if(string.Equals(_embedded_file_data_obj.Uri, manifestation)) return _embedded_file_data_obj; if(string.Equals(_archive_item.Uri, manifestation)) return _archive_item; if(string.Equals(_attachment.Uri, manifestation)) return _attachment; return null; } #region Private Fields private NameUri _embedded_file_data_obj = new NameUri("EmbeddedFileDataObject", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#EmbeddedFileDataObject"); private NameUri _archive_item = new NameUri("ArchiveItem", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#ArchiveItem"); private NameUri _attachment = new NameUri("Attachment", "http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Attachment"); #endregion } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/Subject.cs0000644000175000017500000000564511560567332017531 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using System.Collections.Generic; namespace Zeitgeist.Datamodel { /// /// Represents a subject of an Event /// public class Subject { public Subject() { Uri = string.Empty; CurrentUri = string.Empty; Origin = string.Empty; MimeType = string.Empty; Text = string.Empty; Storage = string.Empty; Interpretation = new NameUri(); Manifestation = new NameUri(); } /// /// URI of the subject /// public string Uri { get; set; } /// /// URI of the location where the subject resides or where it can be said to originate from /// public string Origin { get; set; } /// /// Containing the mimetype of the subject (encoded as a string) if applicable /// Ex text/plain /// public string MimeType { get; set; } /// /// Free form textual annotation of the subject /// public string Text { get; set; } /// /// string id of the storage medium where the subject is stored. /// Ex. the UUID of the disk partition or just the string ‘net’ for items requiring network interface to be available /// public string Storage { get; set; } /// /// Interpretation of the Subject /// public NameUri Interpretation { get; set; } /// /// Manifestation of the Subject /// public NameUri Manifestation { get; set; } /// /// The current URI of the event /// public string CurrentUri { get;set; } } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/Event.cs0000644000175000017500000002436211560567332017210 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using System.Collections.Generic; using System.Collections; using System.Linq; namespace Zeitgeist.Datamodel { /// /// Core data structure in the Zeitgeist framework. It is an optimized and convenient representation of an event. /// This class is designed so that you can pass it directly over DBus using the Python DBus bindings. /// It will automagically be marshalled with the signature a(asaasay). /// /// /// This class does integer based lookups everywhere and can wrap any conformant data structure without the need for marshalling back and forth between DBus wire format. /// These two properties makes it highly efficient and is recommended for use everywhere. /// public class Event { /// /// A parameterless constructor /// public Event() { Subjects = new List(); Payload =new byte[]{}; Actor = string.Empty; Origin = string.Empty; Timestamp = ZsUtils.Epoch; Interpretation = new NameUri(); Manifestation = new NameUri(); } /// /// Event id if the event has one /// public UInt64 Id { get;set; } /// /// Event timestamp defined as milliseconds since the Epoch. /// By default it is set to the moment of instance creation /// public DateTime Timestamp { get;set; } /// /// The application or entity responsible for emitting the event. /// For applications the format of this field is base filename of the corresponding .desktop file with an app:// URI scheme. /// For example /usr/share/applications/firefox.desktop is encoded as app://firefox.desktop /// public string Actor { get;set; } /// /// Origin of the Event /// public string Origin { get;set; } /// /// The Interpretation of the event /// public NameUri Interpretation { get;set; } /// /// The Manifestation of the event /// public NameUri Manifestation { get;set; } /// /// All the Subjects attached with the Event /// public List Subjects { get;set; } /// /// Free form attachment for the event /// public byte[] Payload { get;set; } /// /// Get the RawEvent for this Event /// /// /// The RawEvent instance generated from the current Event /// internal RawEvent GetRawEvent() { return RawEvent.FromEvent(this); } } /// /// The Raw form of Event. Get Event.FromRaw to create an Event from a RawEvent /// internal struct RawEvent { /// /// The event Metadata /// public string[] metadata { get { return _metadata; } set { _metadata = value; } } /// /// The Subjects related to the Event /// public string[][] subjects { get { return _subjects; } set { _subjects = value; } } /// /// Free form attachment for the event /// public byte[] payload { get { return _payload; } set { _payload = value; } } /// /// A parameterized constructor for creating a RawEvent /// Even though it allows to create a RawEvent, please avoid it. /// Create an Event and then use Event.GetRawEvent() /// /// /// The metadata string array /// /// /// The subject of this RawEvent /// /// /// The payload associated with the RawEvent /// public RawEvent(string[] metadata, string[][] subjects, byte[] payload) : this() { this.metadata = metadata; this.subjects = subjects; this.payload = payload; } /// /// A static method which takes in a Event and converts it to a RawEvent /// /// /// The instance of an Event /// /// /// The instance of an RawEvent created /// public static RawEvent FromEvent(Event ev) { RawEvent raw = new RawEvent(); #region MetaData int metaDataLength = Enum.GetNames(typeof(EventMetadataPosition)).Length; List metaDataList = new List(metaDataLength); for(int i=0; i< metaDataList.Capacity; i++) metaDataList.Add(null); metaDataList[(int)EventMetadataPosition.Id] = (ev.Id == 0)? string.Empty: ev.Id.ToString(); metaDataList[(int)EventMetadataPosition.Timestamp] = (ev.Id == 0)? string.Empty: ZsUtils.ToTimestamp(ev.Timestamp).ToString(); metaDataList[(int)EventMetadataPosition.Actor] = ev.Actor; metaDataList[(int)EventMetadataPosition.Origin] = ev.Origin; metaDataList[(int)EventMetadataPosition.Interpretation] = ev.Interpretation.Uri; metaDataList[(int)EventMetadataPosition.Manifestation] = ev.Manifestation.Uri; raw.metadata = metaDataList.ToArray(); #endregion #region Subject List subList= new List(); foreach(Subject sub in ev.Subjects) { #region Individual Subject int subLength = Enum.GetNames(typeof(EventSubjectPosition)).Length; List subCont = new List(subLength); for(int i=0; i< subCont.Capacity; i++) subCont.Add(null); subCont[(int)EventSubjectPosition.Uri] = sub.Uri; subCont[(int)EventSubjectPosition.CurrentUri] = sub.CurrentUri; subCont[(int)EventSubjectPosition.Origin] = sub.Origin; subCont[(int)EventSubjectPosition.Mimetype] = sub.MimeType; subCont[(int)EventSubjectPosition.Text] = sub.Text; subCont[(int)EventSubjectPosition.Storage] = sub.Storage; subCont[(int)EventSubjectPosition.Interpretation] = sub.Interpretation.Uri; subCont[(int)EventSubjectPosition.Manifestation] = sub.Manifestation.Uri; subList.Add(subCont.ToArray()); #endregion } raw.subjects = subList.ToArray(); #endregion #region Payload raw.payload = ev.Payload; #endregion return raw; } /// /// Create a Event from a RawEvent /// /// /// The instance of the RawEvent /// /// /// The instance of an Event /// public static Event FromRaw(RawEvent raw) { Event e = new Event(); if(raw.metadata.Length != Enum.GetNames(typeof(EventMetadataPosition)).Length) return null; #region Metadata ulong id; UInt64.TryParse(raw.metadata[(int)EventMetadataPosition.Id], out id); e.Id = id; ulong timestamp; UInt64.TryParse(raw.metadata[(int)EventMetadataPosition.Timestamp], out timestamp); e.Timestamp = ZsUtils.ToDateTime(timestamp); e.Actor = raw.metadata[(int)EventMetadataPosition.Actor]; e.Origin = raw.metadata[(int)EventMetadataPosition.Origin]; string _interpretation = raw.metadata[(int)EventMetadataPosition.Interpretation]; string _manifestation = raw.metadata[(int)EventMetadataPosition.Manifestation]; e.Interpretation = Zeitgeist.Datamodel.Interpretation.Instance.Search(_interpretation); e.Manifestation = Zeitgeist.Datamodel.Manifestation.Instance.Search(_manifestation); #endregion #region Subjects e.Subjects= new List(); for(int i = 0; i < raw.subjects.Length; i ++) { Subject sub = new Subject(); string[] subjArr = raw.subjects[i]; sub.Uri = subjArr[(int)EventSubjectPosition.Uri]; sub.Origin = subjArr[(int)EventSubjectPosition.Origin]; sub.MimeType = subjArr[(int)EventSubjectPosition.Mimetype]; sub.Text = subjArr[(int)EventSubjectPosition.Text]; sub.Storage = subjArr[(int)EventSubjectPosition.Storage]; sub.CurrentUri = subjArr[(int)EventSubjectPosition.CurrentUri]; string sub_interpretation = subjArr[(int)EventSubjectPosition.Interpretation]; string sub_manifestation = subjArr[(int)EventSubjectPosition.Manifestation]; sub.Interpretation = Zeitgeist.Datamodel.Interpretation.Instance.Search(sub_interpretation); sub.Manifestation = Zeitgeist.Datamodel.Manifestation.Instance.Search(sub_manifestation); e.Subjects.Add(sub); } #endregion #region Payload e.Payload = raw.payload; #endregion return e; } #region RawEvent Private Fields public string[] _metadata; public string[][] _subjects; public byte[] _payload; #endregion } enum EventMetadataPosition { Id = 0, Timestamp = 1, Interpretation = 2, Manifestation = 3, Actor = 4, Origin = 5 } enum EventSubjectPosition { Uri = 0, Interpretation = 1, Manifestation = 2, Origin = 3, Mimetype = 4, Text = 5, Storage = 6, CurrentUri = 7 } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/Delegates.cs0000644000175000017500000000431211463544161020012 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using System.Collections.Generic; namespace Zeitgeist.Datamodel { /// /// The delegate for an event which is called by the Daemon when a matching event is inserted /// /// /// Using Monitor a client can recieve events from the daemon when some event is inserted which /// matches the Event template provided. This delegeate defined the event for the same /// public delegate void NotifyInsertHandler(TimeRange range, List events); /// /// The delegate for an event which is called by the Daemon when a matching event is deleted /// /// /// Using Monitor a client can recieve events from the daemon when some event is deleted which /// matches the Event template provided. This delegeate defined the event for the same /// public delegate void NotifyDeleteHandler(TimeRange range, List eventIds); } zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/Monitor.cs0000644000175000017500000001054211560567332017551 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using System.Collections.Generic; using DBus; using GLib; using System.Threading; using System.ComponentModel; namespace Zeitgeist.Datamodel { [Interface("org.gnome.zeitgeist.Monitor")] internal interface IMonitor { void NotifyInsert(long[] range, RawEvent[] events); void NotifyDelete(long[] range, UInt32[] evendIds); } internal class RawMonitor : IMonitor { public RawMonitor(string monitorPath) { ObjectPath objPath = new ObjectPath (monitorPath); Bus.Session.Register (objPath, this); loop = new MainLoop(); worker = new BackgroundWorker(); worker.DoWork += delegate(object sender, DoWorkEventArgs e) { loop.Run(); }; worker.RunWorkerAsync(); } public void NotifyInsert(long[] range, RawEvent[] events) { List eventList = ZsUtils.FromRawEventList(events); if(Inserted != null) Inserted(new TimeRange(range[0], range[1]), eventList); } public void NotifyDelete(long[] range, UInt32[] evendIds) { List eventIdList = new List(evendIds); if(Deleted != null) Deleted(new TimeRange(range[0], range[1]), eventIdList); } public event NotifyInsertHandler Inserted; public event NotifyDeleteHandler Deleted; private BackgroundWorker worker; private MainLoop loop; } internal class MonitorData { public ObjectPath Path { get;set; } public RawTimeRange Range { get;set; } public List Events { get;set; } } /// /// DBus interface for monitoring the Zeitgeist log for certain types of events. /// When using the Python bindings monitors are normally instantiated indirectly by calling ZeitgeistClient.install_monitor /// /// /// It is important to understand that the Monitor instance lives on the client side, and expose a /// DBus service there, and the Zeitgeist engine calls back to the monitor when matching events are registered. /// public class Monitor { /// /// Create a new instance of Monitor which can be used for notifying the client that some event has been /// inserted or deleted which matches the event template /// /// /// The DBus path over which the bus is activated /// public Monitor(string monitorPath) { _monitor = new RawMonitor( monitorPath); _monitor.Inserted += delegate(TimeRange event_range, List events) { if(Inserted != null) Inserted(event_range, events); }; _monitor.Deleted += delegate(TimeRange event_range, List eventIds) { if(Deleted != null) Deleted(event_range, eventIds); }; } /// /// The event which is fired in the case of an event is inserted which matches the Event Templates /// public event NotifyInsertHandler Inserted; /// /// The event which is fired in the case of an event is deleted which matches the Event Templates /// public event NotifyDeleteHandler Deleted; private RawMonitor _monitor; } }zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/ResultType.cs0000644000175000017500000000571011463544207020241 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; namespace Zeitgeist.Datamodel { /// /// An enumeration class used to define how query results should be returned from the Zeitgeist engine. /// public enum ResultType { /// /// All events with the most recent events first. (Integer value: 0) /// MostRecentEvents = 0, /// /// All events with the oldest ones first. (Integer value: 1) /// LeastRecentEvents = 1, /// /// One event for each subject only, ordered with the most recent events first. (Integer value: 2) /// MostRecentSubjects = 2, /// /// One event for each subject only, ordered with oldest events first. (Integer value: 3) /// LeastRecentSubjects = 3, /// /// One event for each subject only, ordered by the popularity of the subject. (Integer value: 4) /// MostPopularSubjects = 4, /// /// One event for each subject only, ordered ascendently by popularity. (Integer value: 5) /// LeastPopularSubjects = 5, /// /// The last event of each different actor,ordered by the popularity of the actor. (Integer value: 6) /// MostPopularActor = 6, /// /// The last event of each different actor,ordered ascendently by the popularity of the actor. (Integer value: 7) /// LeastPopularActor = 7, /// /// The last event of each different actor. (Integer value: 8) /// MostRecentActor = 8, /// /// The first event of each different actor. (Integer value: 9) /// LeastRecentActor = 9 } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/DataSource.cs0000644000175000017500000001601211562026750020146 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Copyright (c) 2011 Travis Glenn Hansen * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using org.freedesktop; using org.freedesktop.DBus; using System.Collections.Generic; namespace Zeitgeist.Datamodel { /// /// Optimized and convenient data structure representing a datasource. /// public class DataSource { /// /// The Id of the DataSource /// public string UniqueId { get;set; } /// /// The Name of the DataSource /// public string Name { get;set; } /// /// The Description of the DataSource /// public string Description { get;set; } /// /// The list of Events associated with this DataSource /// public List Events { get;set; } /// /// Is the datasouce running : TODO /// public bool Running { get;set; } /// /// Last time the DataSource did something /// public long LastSeen { get;set; } /// /// Is the DataSource Enabled : TODO /// public bool Enabled { get;set; } } /// /// A raw DBus based representation of Event /// internal struct RawDataSource { /// /// The Id of the RawDataSource /// public string UniqueId { get { return _uniqueId; } set { _uniqueId = value; } } /// /// The Name of the RawDataSource /// public string Name { get { return _name; } set { _name = value; } } /// /// The Description of the RawDataSource /// public string Description { get { return _description; } set { _description = value; } } /// /// The list of RawEvents associated with this RawDataSource /// public RawEvent[] RawEvents { get { return _rawEvents; } set { _rawEvents = value; } } /// /// Is the datasouce running : TODO /// public bool Running { get { return _running; } set { _running = value; } } /// /// Last time the RawDataSource did something /// public UInt64 LastSeen { get { return _lastSeen; } set { _lastSeen = value; } } /// /// Is the DataSource Enabled : TODO /// public bool Enabled { get { return _enabled; } set { _enabled = value; } } /// /// A constructor for creating a RawDataSource. Even though the functiionality is provided, /// still please create an instance of DartaSource and then use DataSource.ToRaw() /// /// /// The RawDataSource id /// /// /// The name of the Source /// /// /// The description of the Source /// /// /// The RawEvents associated with this RawDataSource /// /// /// is the RawDataSource running /// /// /// When was the last time RawDataSource was seen /// /// /// Is the RawDataSource enabled /// public RawDataSource(string uid, string name, string desc, RawEvent[] events, bool running, UInt64 Lastseen, bool enabled) : this() { this.UniqueId = uid; this.Name = name; this.Description = desc; this.RawEvents = events; this.Running = running; this.LastSeen = Lastseen; this.Enabled = enabled; } /// /// Convert an object of type RawDataSource to DataSource /// /// /// An instance of RawDataSource /// /// /// An instance of DataSource /// public static DataSource FromRaw(RawDataSource raw) { DataSource src = new DataSource(); src.UniqueId = raw.UniqueId; src.Name = raw.Name; src.Description = raw.Description; src.Running = raw.Running; src.LastSeen = long.Parse(raw.LastSeen.ToString()); src.Enabled = raw.Enabled; if(raw.RawEvents != null) { src.Events = new List(); foreach(RawEvent evn in raw.RawEvents) { Event ev = RawEvent.FromRaw(evn); src.Events.Add(ev); } } return src; } /// /// Convert an object of type DataSource to RawDataSource /// /// /// An instance of DataSource /// /// /// An instance of RawDataSource /// public static RawDataSource ToRaw(DataSource src) { RawDataSource raw = new RawDataSource(); raw.UniqueId = src.UniqueId; raw.Name = src.Name; raw.Description = src.Description; raw.Running = src.Running; raw.LastSeen = UInt64.Parse(src.LastSeen.ToString()); raw.Enabled = src.Enabled; if(raw.RawEvents != null) { List events = new List(); foreach(Event evn in src.Events) { RawEvent ev = evn.GetRawEvent(); events.Add(ev); } } return raw; } #region Private Fields private string _uniqueId; private string _name; private string _description; private RawEvent[] _rawEvents; private bool _running; private UInt64 _lastSeen; private bool _enabled; #endregion } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/Version.cs0000644000175000017500000000657011562025432017545 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2011 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; namespace Zeitgeist.Datamodel { /// /// Represents a version number of format X.Y.Z (Major-Minor-Revision) /// /// /// The fourth number(Patch) is ommitted /// public class Version { public Version () { } /// /// The major version section of a Version /// /// /// X is the major version part of X.Y.Z /// public string MajorVersion { get { return _majorVersion; } set { _majorVersion = value; } } /// /// The minor version section of a Version /// /// /// Y is the minor version part of X.Y.Z /// public string MinorVersion { get { return _minorVersion; } set { _minorVersion = value; } } /// /// The Revision section of a Version /// /// /// Z is the Revision part of X.Y.Z /// public string Revision { get { return _revision; } set { _revision = value; } } #region Private Members private string _majorVersion; private string _minorVersion; private string _revision; #endregion } internal struct RawVersion { public RawVersion(Version ver) : this() { this.MajorVersion = ver.MajorVersion; this.MinorVersion = ver.MinorVersion; this.Revision = ver.Revision; } public Version FromRaw() { Version ver = new Version(); ver.MajorVersion = this.MajorVersion; ver.MinorVersion = this.MinorVersion; ver.Revision = this.Revision; return ver; } public string MajorVersion { get { return _majorVersion; } set { _majorVersion = value; } } public string MinorVersion { get { return _minorVersion; } set { _minorVersion = value; } } public string Revision { get { return _revision; } set { _revision = value; } } private string _majorVersion; private string _minorVersion; private string _revision; } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/StorageState.cs0000644000175000017500000000425611463544212020526 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; namespace Zeitgeist.Datamodel { /// /// Enumeration class defining the possible values for the storage state of an event subject. /// The StorageState enumeration can be used to control whether or not matched events must have their subjects available to the user. /// Ex. not including deleted files, files on unplugged USB drives, files available only when a network is available etc. /// public enum StorageState { /// /// The storage medium of the events subjects must not be available to the user. (Integer value: 0) /// NotAvailable = 0, /// /// The storage medium of all event subjects must be immediately available to the user. (Integer value: 1) /// Available = 1, /// /// The event subjects may or may not be available. (Integer value: 2) /// Any = 2 } } zeitgeist-sharp-0.8.0.0/Zeitgeist/Datamodel/Interpretation.cs0000644000175000017500000013712711560572547021146 00000000000000/****************************************************************************** * The MIT/X11/Expat License * Copyright (c) 2010 Manish Sinha * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ********************************************************************************/ using System; using System.Collections.Generic; namespace Zeitgeist.Datamodel { /// /// In general terms the interpretation of an event or subject is /// an abstract description of “what happened” or “what is this”. /// Each interpretation type is uniquely identified by a URI. /// This class provides a list of hard coded URI constants for programming convenience. /// In addition; each interpretation instance in this class has a display_name property, /// which is an internationalized string meant for end user display. /// /// /// The interpretation types listed here are all subclasses of str /// and may be used anywhere a string would be used. /// Interpretations form a hierarchical type tree. So that fx. /// Audio, Video, and Image all are sub types of Media. These types /// again have their own sub types, like fx. Image has children Icon, /// Photo, and VectorImage (among others). /// Templates match on all sub types, so that a query on subjects with /// interpretation Media also match subjects with interpretations Audio, Photo, /// and all other sub types of Media. . (Display name: '') /// public class Interpretation { /// /// The singleton Instance of Interpretation /// public static Interpretation Instance { get { if(_singleton_obj == null) _singleton_obj = new Interpretation(); return _singleton_obj; } } /// /// Provide a grouping of component properties that define an alarm. /// (Display name: 'Alarm') /// /// /// http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Alarm /// public NameUri Alarm { get { return _alarm; } } /// /// A bookmark of a webbrowser. Use nie:title for the name/label, /// nie:contentCreated to represent the date when the user added the /// bookmark, and nie:contentLastModified for modifications. nfo:bookmarks /// to store the link. (Display name: 'Bookmark') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Bookmark /// public NameUri Bookmark { get { return _bookmark; } } /// /// A folder with bookmarks of a webbrowser. Use nfo:containsBookmark /// to relate Bookmarks. Folders can contain subfolders, use /// containsBookmarkFolder to relate them. (Display name: 'Bookmark Folder') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#BookmarkFolder /// public NameUri BookmarkFolder { get { return _bookmark_folder; } } /// /// A calendar. Inspirations for this class can be traced to the /// VCALENDAR component defined in RFC 2445 sec. 4.4, but it may /// just as well be used to represent any kind of Calendar. /// (Display name: 'Calendar') /// /// /// http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Calendar /// public NameUri Calendar { get { return _calendar; } } /// /// A superclass for all entities, whose primary purpose is to /// serve as containers for other data object. They usually don’t /// have any “meaning” by themselves. Examples include folders, /// archives and optical disc images. (Display name: 'DataContainer') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DataContainer /// public DataContainerType DataContainer { get { return _data_container; } } /// /// A generic document. A common superclass for all /// documents on the desktop. (Display name: 'Document') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Document /// public DocumentType Document { get { return _document; } } /// /// Provide a grouping of component properties that describe /// an event. (Display name: 'Event') /// /// /// http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Event /// public NameUri Event { get { return _event; } } /// /// Base class for event interpretations. Please do no instantiate directly, but use one of the sub classes. The interpretation of an event describes ‘what happened’ - fx. ‘something was created’ or ‘something was accessed’. (Display name: 'EVENT_INTERPRETATION') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#EventInterpretation /// public EventInterpretationType EventInterpretation { get { return _event_interpretation; } } /// /// An executable file. (Display name: 'Executable') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Executable /// public NameUri Executable { get { return _executable; } } /// /// A font. (Display name: 'Font') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Font /// public NameUri Font { get { return _font; } } /// /// Provide a grouping of component properties that describe either /// a request for free/busy time, describe a response to a request /// for free/busy time or describe a published set of busy time. /// (Display name: 'Freebusy') /// /// /// http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Freebusy /// public NameUri Freebusy { get { return _free_busy; } } /// /// Provide a grouping of component properties that /// describe a journal entry. (Display name: 'Journal') /// /// /// http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Journal /// public NameUri Journal { get { return _journal; } } /// /// A mailbox - container for MailboxDataObjects. /// (Display name: 'Mailbox') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#Mailbox /// public NameUri Mailbox { get { return _mail_box; } } /// /// A piece of media content. This class may be used to express complex /// media containers with many streams of various media content /// (both aural and visual). (Display name: 'Media') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Media /// public MediaType Media { get { return _media; } } /// /// A file containing a list of media files.e.g. a playlist. /// (Display name: 'MediaList') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#MediaList /// public MediaListType MediaList { get { return _media_list; } } /// /// A message. Could be an email, instant messanging message, /// SMS message etc. (Display name: 'Message') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#Message /// public MessageType Message { get { return _message; } } /// /// A MIME entity, as defined in RFC2045, Section 2.4. /// (Display name: 'MimeEntity') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#MimeEntity /// public NameUri MimeEntity { get { return _mime_entity; } } /// /// A piece of software. Examples may include applications /// and the operating system. This interpretation most commonly applies /// to SoftwareItems. (Display name: 'Software') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Software /// public SoftwareType Software { get { return _software; } } /// /// Provide a grouping of component properties that defines a time zone. /// (Display name: 'Timezone') /// /// /// http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Timezone /// public NameUri Timezone { get { return _timezone; } } /// /// Provide a grouping of calendar properties that /// describe a to-do. (Display name: 'Todo') /// /// /// http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Todo /// public NameUri Todo { get { return _todo; } } /// /// A TV Series has multiple seasons and episodes. /// (Display name: 'tv series') /// /// /// http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#TVSeries /// public NameUri TVSeries { get { return _tvseries; } } /// /// A website, usually a container for remote resources, /// that may be interpreted as HTMLDocuments, images or other /// types of content. (Display name: 'Website') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Website /// public NameUri Website { get { return _website; } } /// /// Search for an interpretation KeyValuePair provided the /// interpretation string /// /// /// The Interpretation of type /// /// /// The parsed value of Interpretation /// public NameUri Search(string interpretation) { if(string.Equals(_alarm.Uri, interpretation)) return _alarm; if(string.Equals(_bookmark.Uri, interpretation)) return _bookmark; if(string.Equals(_bookmark_folder.Uri, interpretation)) return _bookmark_folder; if(string.Equals(_calendar.Uri, interpretation)) return _calendar; if(string.Equals(_event.Uri, interpretation)) return _event; if(string.Equals(_executable.Uri, interpretation)) return _executable; if(string.Equals(_font.Uri, interpretation)) return _font; if(string.Equals(_free_busy.Uri, interpretation)) return _free_busy; if(string.Equals(_journal.Uri, interpretation)) return _journal; if(string.Equals(_mail_box.Uri, interpretation)) return _mail_box; if(string.Equals(_mime_entity.Uri, interpretation)) return _mime_entity; if(string.Equals(_timezone.Uri, interpretation)) return _timezone; if(string.Equals(_todo.Uri, interpretation)) return _todo; if(string.Equals(_tvseries.Uri, interpretation)) return _tvseries; if(string.Equals(_website.Uri, interpretation)) return _website; NameUri datacont = _data_container.Search(interpretation); if(datacont != null) return datacont; NameUri doc = _document.Search(interpretation); if(doc != null) return doc; NameUri evnt_int = _event_interpretation.Search(interpretation); if(evnt_int != null) return evnt_int; NameUri media = _media.Search(interpretation); if(media != null) return media; NameUri media_lst = _media_list.Search(interpretation); if(media_lst != null) return media_lst; NameUri msg = _message.Search(interpretation); if(msg != null) return msg; NameUri sw = _software.Search(interpretation); if(sw != null) return sw; return new NameUri(ZsUtils.GetStringAnchor(interpretation), interpretation); } #region Private Fields private static Interpretation _singleton_obj = new Interpretation(); private NameUri _alarm = new NameUri("Alarm", "http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Alarm"); private NameUri _bookmark = new NameUri("Bookmark", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Bookmark"); private NameUri _bookmark_folder = new NameUri("BookmarkFolder", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#BookmarkFolder"); private NameUri _calendar = new NameUri("Calendar", "http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Calendar"); private NameUri _event = new NameUri("Event", "http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Event"); private NameUri _executable = new NameUri("Executable", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Executable"); private NameUri _font = new NameUri("Font", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Font"); private NameUri _free_busy = new NameUri("Freebusy", "http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Freebusy"); private NameUri _journal = new NameUri("Journal", "http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Journal"); private NameUri _mail_box = new NameUri("Mailbox", "http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#Mailbox"); private NameUri _mime_entity = new NameUri("MimeEntity", "http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#MimeEntity"); private NameUri _timezone = new NameUri("Timezone", "http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Timezone"); private NameUri _todo = new NameUri("Todo", "http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#Todo"); private NameUri _tvseries = new NameUri("TVSeries", "http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#TVSeries"); private NameUri _website = new NameUri("Website", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Website"); private DataContainerType _data_container = new DataContainerType(); private DocumentType _document = new DocumentType(); private EventInterpretationType _event_interpretation = new EventInterpretationType(); private MediaType _media = new MediaType(); private MediaListType _media_list = new MediaListType(); private MessageType _message = new MessageType(); private SoftwareType _software = new SoftwareType(); #endregion } #region DataContainer Classes public class DataContainerType { /// /// A superclass for all entities, whose primary purpose /// is to serve as containers for other data object. They /// usually don’t have any “meaning” by themselves. /// Examples include folders, archives and optical disc images. /// (Display name: 'DataContainer') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DataContainer /// public NameUri DataContainer { get { return _datacontainer; } } /// /// A compressed file. May contain other files or folder /// inside. (Display name: 'Archive') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Archive /// public NameUri Archive { get { return _archive; } } /// /// A filesystem. Examples of filesystems include hard disk /// partitions, removable media, but also images thereof /// stored in files. (Display name: 'Filesystem') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Filesystem /// public FileSystemType Filesystem { get { return _filesystem; } } /// /// A folder/directory. Examples of folders include folders /// on a filesystem and message folders in a mailbox. /// (Display name: 'Folder') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Folder /// public NameUri Folder { get { return _folder; } } /// /// Represents a container for deleted files, a feature common /// in modern operating systems. (Display name: 'Trash') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Trash /// public NameUri Trash { get { return _trash; } } public NameUri Search(string interpretation) { if(string.Equals(_datacontainer.Uri, interpretation)) return _datacontainer; if(string.Equals(_archive.Uri, interpretation)) return _archive; if(string.Equals(_folder.Uri, interpretation)) return _folder; if(string.Equals(_trash.Uri, interpretation)) return _trash; NameUri fs = _filesystem.Search(interpretation); if(fs != null) return fs; return null; } #region Private Fields private NameUri _datacontainer = new NameUri("DataContainer", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DataContainer"); private NameUri _archive = new NameUri("Archive", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Archive"); private NameUri _folder = new NameUri("Folder", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Folder"); private NameUri _trash = new NameUri("Trash", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Trash"); private FileSystemType _filesystem = new FileSystemType(); #endregion } public class FileSystemType { /// /// A filesystem. Examples of filesystems include hard disk partitions, /// removable media, but also images thereof stored in files. /// (Display name: 'Filesystem') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Filesystem /// public NameUri Filesystem { get { return _file_system; } } /// /// Represents a container for deleted files, a feature common /// in modern operating systems. (Display name: 'Trash') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Trash /// public NameUri FilesystemImage { get { return _file_system_image; } } public NameUri Search(string interpretation) { if(string.Equals(_file_system_image.Uri, interpretation)) return _file_system_image; if(string.Equals(_file_system.Uri, interpretation)) return _file_system; return null; } #region Private Fields private static NameUri _file_system_image = new NameUri("FilesystemImage", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FilesystemImage"); private static NameUri _file_system = new NameUri("Filesystem", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Filesystem"); #endregion } #endregion #region DocumentType Classes public class DocumentType { /// /// A generic document. A common superclass for all documents /// on the desktop. (Display name: 'Document') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Document /// public NameUri Document { get { return _document; } } /// /// A MindMap, created by a mind-mapping utility. /// Examples might include FreeMind or mind mapper. /// (Display name: 'MindMap') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#MindMap /// public NameUri MindMap { get { return _mind_map; } } /// /// A Presentation made by some presentation software /// (Corel Presentations, OpenOffice Impress, MS Powerpoint etc.). /// (Display name: 'Presentation') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Presentation /// public NameUri Presentation { get { return _presentation; } } /// /// A spreadsheet, created by a spreadsheet application. /// Examples might include Gnumeric, OpenOffice Calc or MS Excel. /// (Display name: 'Spreadsheet') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Spreadsheet /// public NameUri Spreadsheet { get { return _spreadsheet; } } /// /// A text document. (Display name: 'TextDocument') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#TextDocument /// public TextDocumentType TextDocument { get { return _text_document; } } public NameUri Search(string interpretation) { if(string.Equals(_document.Uri, interpretation)) return _document; if(string.Equals(_mind_map.Uri, interpretation)) return _mind_map; if(string.Equals(_presentation.Uri, interpretation)) return _presentation; if(string.Equals(_spreadsheet.Uri, interpretation)) return _spreadsheet; NameUri textdoc = _text_document.Search(interpretation); if(textdoc != null) return textdoc; return null; } #region Private Fields private NameUri _document = new NameUri("Document", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Document"); private NameUri _mind_map = new NameUri("MindMap", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#MindMap"); private NameUri _presentation = new NameUri("Presentation", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Presentation"); private NameUri _spreadsheet = new NameUri("Spreadsheet", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Spreadsheet"); private TextDocumentType _text_document = new TextDocumentType(); #endregion } public class TextDocumentType { /// /// A text document. (Display name: 'TextDocument') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#TextDocument /// public NameUri TextDocument { get { return _text_document; } } /// /// A file containing a text document, that is unambiguously divided into pages. /// Examples might include PDF, DOC, PS, DVI etc. (Display name: 'PaginatedTextDocument') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#PaginatedTextDocument /// public NameUri PaginatedTextDocument { get { return _paginated_text_document; } } /// /// A file containing a text document, that is unambiguously divided into pages. /// Examples might include PDF, DOC, PS, DVI etc. (Display name: 'PaginatedTextDocument') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#PaginatedTextDocument /// public PlainTextDocumentType PlainTextDocument { get { return _plain_text_document; } } public NameUri Search(string interpretation) { if(string.Equals(_paginated_text_document.Uri, interpretation)) return _paginated_text_document; NameUri plaintext = _plain_text_document.Search(interpretation); if(plaintext != null) return plaintext; return null; } #region Private Fields private NameUri _text_document = new NameUri("TextDocument", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#TextDocument"); private NameUri _paginated_text_document = new NameUri("PaginatedTextDocument", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#PaginatedTextDocument"); private PlainTextDocumentType _plain_text_document = new PlainTextDocumentType(); #endregion } public class PlainTextDocumentType { /// /// A file containing plain text (ASCII, Unicode or other encodings). /// Examples may include TXT, HTML, XML, program source code etc. /// (Display name: 'PlainTextDocument') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#PlainTextDocument /// public NameUri PlainTextDocument { get { return _plain_text_document; } } /// /// A HTML document, may contain links to other files. /// (Display name: 'HtmlDocument') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#HtmlDocument /// public NameUri HtmlDocument { get { return _html_document; } } /// /// Code in a compilable or interpreted programming language. (Display name: 'SourceCode') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#SourceCode /// public NameUri SourceCode { get { return _source_code; } } public NameUri Search(string interpretation) { if(string.Equals(_plain_text_document.Uri, interpretation)) return _plain_text_document; if(string.Equals(_html_document.Uri, interpretation)) return _html_document; if(string.Equals(_source_code.Uri, interpretation)) return _source_code; return null; } #region Private Fields private NameUri _plain_text_document = new NameUri("PlainTextDocument", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#PlainTextDocument"); private NameUri _html_document = new NameUri("HtmlDocument", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#HtmlDocument"); private NameUri _source_code = new NameUri("SourceCode", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#SourceCode"); #endregion } #endregion #region EventInterpretation Classes /// /// The type which contains the heirarchy of EventInterpretation /// public class EventInterpretationType { /// /// Base class for event interpretations. Please do no instantiate /// directly, but use one of the sub classes. The interpretation of /// an event describes ‘what happened’ - fx. ‘something was created’ /// or ‘something was accessed’. (Display name: 'EVENT_INTERPRETATION') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#EventInterpretation /// public NameUri EventInterpretation { get { return _event_interpretation; } } /// /// Event triggered by opening, accessing, or starting a resource. /// Most zg:AccessEvents will have an accompanying zg:LeaveEvent, /// but this need not always be the case. (Display name: 'ACCESS_EVENT') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#AccessEvent /// public NameUri AccessEvent { get { return _access_event; } } /// /// Event type triggered when an item is created. (Display name: 'Created') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#CreateEvent /// public NameUri CreateEvent { get { return _create_event; } } /// /// Event triggered because a resource has been deleted or otherwise /// made permanently unavailable. Fx. when deleting a file. /// FIXME: How about when moving to trash?. (Display name: 'DELETE_EVENT') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#DeleteEvent /// public NameUri DeleteEvent { get { return _delete_event; } } /// /// Event triggered by closing, leaving, or stopping a resource. /// Most zg:LeaveEvents will be following a zg:Access event, but this /// need not always be the case. (Display name: 'LEAVE_EVENT') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#LeaveEvent /// public NameUri LeaveEvent { get { return _leave_event; } } /// /// Event triggered by modifying an existing resources. Fx. when editing /// and saving a file on disk or correcting a typo in the name of a /// contact. (Display name: 'MODIFY_EVENT') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#ModifyEvent /// public NameUri ModifyEvent { get { return _modify_event; } } /// /// Event triggered when something is received from an external party. /// The event manifestation must be set according to the world view of the /// receiving party. Most often the item that is being received will be some /// sort of message - an email, instant message, or broadcasted media such /// as micro blogging. (Display name: 'RECEIVE_EVENT') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#ReceiveEvent /// public NameUri ReceiveEvent { get { return _receive_event; } } /// /// Event triggered when a resource has been moved from a location to another. /// Fx. moving a file from a folder to another. /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#MoveEvent /// public NameUri MoveEvent { get { return _move_event; } } /// /// Event triggered when something is send to an external party. /// The event manifestation must be set according to the world view of the sending party. /// Most often the item that is being send will be some sort of message - an email, /// instant message, or broadcasted media such as micro blogging. (Display name: 'SEND_EVENT') /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#SendEvent /// public NameUri SendEvent { get { return _send_event; } } /// /// Event triggered when the user accepts a request of some sort. Examples could be /// answering a phone call, accepting a file transfer, or accepting a friendship request /// over an IM protocol. See also DenyEvent for when the user denies a similar request /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#AcceptEvent /// public NameUri AcceptEvent { get { return _accept_event; } } /// /// Event triggered when the user accepts a request of some sort. Examples could be /// answering a phone call, accepting a file transfer, or accepting a friendship request /// over an IM protocol. See also DenyEvent for when the user denies a similar request /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#DenyEvent /// public NameUri DenyEvent { get { return _deny_event; } } /// /// Event triggered when something expires or times out. These types of events are /// normally not triggered by the user, but by the operating system or some external party. /// Examples are a recurring calendar item or task deadline that expires or a when the user fails /// /// /// http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#ExpireEvent /// public NameUri ExpireEvent { get { return _expire_event; } } public NameUri Search(string interpretation) { if(string.Equals(_event_interpretation.Uri, interpretation)) return _event_interpretation; if(string.Equals(_access_event.Uri, interpretation)) return _access_event; if(string.Equals(_create_event.Uri, interpretation)) return _create_event; if(string.Equals(_delete_event.Uri, interpretation)) return _delete_event; if(string.Equals(_leave_event.Uri, interpretation)) return _leave_event; if(string.Equals(_modify_event.Uri, interpretation)) return _modify_event; if(string.Equals(_receive_event.Uri, interpretation)) return _receive_event; if(string.Equals(_move_event.Uri, interpretation)) return _move_event; if(string.Equals(_send_event.Uri, interpretation)) return _send_event; if(string.Equals(_accept_event.Uri, interpretation)) return _accept_event; if(string.Equals(_deny_event.Uri, interpretation)) return _deny_event; if(string.Equals(_expire_event.Uri, interpretation)) return _expire_event; return null; } #region Private Fields private NameUri _event_interpretation = new NameUri("EventInterpretation", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#EventInterpretation"); private NameUri _access_event = new NameUri("AccessEvent", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#AccessEvent"); private NameUri _create_event = new NameUri("CreateEvent", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#CreateEvent"); private NameUri _delete_event = new NameUri("DeleteEvent", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#DeleteEvent"); private NameUri _leave_event = new NameUri("LeaveEvent", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#LeaveEvent"); private NameUri _modify_event = new NameUri("ModifyEvent", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#ModifyEvent"); private NameUri _receive_event = new NameUri("ReceiveEvent", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#ReceiveEvent"); private NameUri _move_event = new NameUri("MoveEvent", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#MoveEvent"); private NameUri _send_event = new NameUri("SendEvent", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#SendEvent"); private NameUri _accept_event = new NameUri("AcceptEvent", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#AcceptEvent"); private NameUri _deny_event = new NameUri("DenyEvent", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#DenyEvent"); private NameUri _expire_event = new NameUri("ExpireEvent", "http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#ExpireEvent"); #endregion } #endregion #region Media Classes public class MediaType { /// /// A piece of media content. This class may be used to express complex media containers with many streams of various media content (both aural and visual). (Display name: 'Media') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Media /// public NameUri Media { get { return _media; } } /// /// UsA file containing audio content. (Display name: 'Audio') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Audio /// public NameUri Audio { get { return _audio; } } /// /// Used to assign music-specific properties such a BPM to video and audio. (Display name: 'music') /// /// /// http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#MusicPiece /// public NameUri MusicPiece { get { return _music_piece; } } /// /// File containing visual content. (Display name: 'Visual') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Visual /// public VisualType Visual { get { return _visual_type; } } public NameUri Search(string interpretation) { if(string.Equals(_media.Uri, interpretation)) return _media; if(string.Equals(_audio.Uri, interpretation)) return _audio; if(string.Equals(_music_piece.Uri, interpretation)) return _music_piece; NameUri visual = _visual_type.Search(interpretation); if(visual != null) return visual; return null; } #region Private Fields private NameUri _media = new NameUri("Media", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Media"); private NameUri _audio = new NameUri("Audio", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Audio"); private NameUri _music_piece = new NameUri("MusicPiece", "http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#MusicPiece"); private VisualType _visual_type = new VisualType(); #endregion } public class VisualType { /// /// File containing visual content. (Display name: 'Visual') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Visual /// public NameUri Visual { get { return _visual; } } /// /// A file containing an image. (Display name: 'Image') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Image /// public ImageType Image { get { return _image; } } /// /// A video file. (Display name: 'Video') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Video /// public VideoType Video { get { return _video; } } public NameUri Search(string interpretation) { if(string.Equals(_visual.Uri, interpretation)) return _visual; NameUri image = _image.Search(interpretation); if(image != null) return image; NameUri video = _video.Search(interpretation); if(video != null) return video; return null; } #region Private Fields private NameUri _visual = new NameUri("Visual", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Visual"); private ImageType _image = new ImageType(); private VideoType _video = new VideoType(); #endregion } public class ImageType { /// /// A file containing an image. (Display name: 'Image') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Image /// public NameUri Image { get { return _image; } } /// /// An Icon (regardless of whether it’s a raster or a vector icon. A resource representing an icon could have two types (Icon and Raster, or Icon and Vector) if required. (Display name: 'Icon') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Icon /// public NameUri Icon { get { return _icon; } } /// /// A raster image. (Display name: 'RasterImage') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#RasterImage /// public RasterImageType RasterImage { get { return _raster_image; } } /// /// . (Display name: 'VectorImage') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#VectorImage /// public NameUri VectorImage { get { return _vector_image; } } public NameUri Search(string interpretation) { if(string.Equals(_image.Uri, interpretation)) return _image; if(string.Equals(_icon.Uri, interpretation)) return _icon; NameUri rast = _raster_image.Search(interpretation); if(rast != null) return rast; if(string.Equals(_vector_image.Uri, interpretation)) return _vector_image; return null; } #region Private Fields private NameUri _image = new NameUri("Image", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Image"); private NameUri _icon = new NameUri("Icon", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Icon"); private RasterImageType _raster_image = new RasterImageType(); private NameUri _vector_image = new NameUri("VectorImage", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#VectorImage"); #endregion } public class RasterImageType { /// /// A raster image. (Display name: 'RasterImage') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#RasterImage /// public NameUri RasterImage { get { return _raster_image; } } /// /// A Cursor. (Display name: 'Cursor') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Cursor /// public NameUri Cursor { get { return _cursor; } } public NameUri Search(string interpretation) { if(string.Equals(_raster_image.Uri, interpretation)) return _raster_image; if(string.Equals(_cursor.Uri, interpretation)) return _cursor; return null; } #region Private Fields private NameUri _raster_image = new NameUri("RasterImage", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#RasterImage"); private NameUri _cursor = new NameUri("Cursor", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Cursor"); #endregion } public class VideoType { /// /// A video file. (Display name: 'Video') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Video /// public NameUri Video { get { return _video; } } /// /// A Movie. (Display name: 'movie') /// /// /// http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#Movie /// public NameUri Movie { get { return _movie; } } /// /// A TV Show. (Display name: 'tv show') /// /// /// http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#TVShow /// public NameUri TVShow { get { return _tv_show; } } public NameUri Search(string interpretation) { if(string.Equals(_video.Uri, interpretation)) return _video; if(string.Equals(_movie.Uri, interpretation)) return _movie; if(string.Equals(_tv_show.Uri, interpretation)) return _tv_show; return null; } #region Private Fields private NameUri _video = new NameUri("Video", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Video"); private NameUri _movie = new NameUri("Movie", "http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#Movie"); private NameUri _tv_show = new NameUri("TVShow", "http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#TVShow"); #endregion } #endregion #region MediaList Classes public class MediaListType { /// /// A file containing a list of media files.e.g. a playlist. (Display name: 'MediaList') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#MediaList /// public NameUri MediaList { get { return _media_list; } } /// /// The music album as provided by the publisher. Not to be confused with media lists or collections. (Display name: 'music album') /// /// /// http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#MusicAlbum /// public NameUri MusicAlbum { get { return _music_album; } } public NameUri Search(string interpretation) { if(string.Equals(_media_list.Uri, interpretation)) return _media_list; if(string.Equals(_music_album.Uri, interpretation)) return _music_album; return null; } #region Private Fields private NameUri _media_list = new NameUri("MediaList", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#MediaList"); private NameUri _music_album = new NameUri("MusicAlbum", "http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#MusicAlbum"); #endregion } #endregion #region Message Classes public class MessageType { /// /// A message. Could be an email, instant messanging message, SMS message etc. (Display name: 'Message') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#Message /// public NameUri Message { get { return _message; } } /// /// An email. (Display name: 'Email') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#Email /// public NameUri Email { get { return _email; } } /// /// A message sent with Instant Messaging software. (Display name: 'IMMessage') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#IMMessage /// public NameUri IMMessage { get { return _im_message; } } public NameUri Search(string interpretation) { if(string.Equals(_message.Uri, interpretation)) return _message; if(string.Equals(_email.Uri, interpretation)) return _email; if(string.Equals(_im_message.Uri, interpretation)) return _im_message; return null; } #region Private Fields private NameUri _message = new NameUri("Message", "http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#Message"); private NameUri _email = new NameUri("Email", "http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#Email"); private NameUri _im_message = new NameUri("IMMessage", "http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#IMMessage"); #endregion } #endregion #region Software Classes public class SoftwareType { /// /// A piece of software. Examples may include applications and the operating system. This interpretation most commonly applies to SoftwareItems. (Display name: 'Software') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Software /// public NameUri Software { get { return _software; } } /// /// An application. (Display name: 'Application') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Application /// public NameUri Application { get { return _application; } } /// /// An OperatingSystem. (Display name: 'OperatingSystem') /// /// /// http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#OperatingSystem /// public NameUri OperatingSystem { get { return _os; } } public NameUri Search(string interpretation) { if(string.Equals(_software.Uri, interpretation)) return _software; if(string.Equals(_application.Uri, interpretation)) return _application; if(string.Equals(_os.Uri, interpretation)) return _os; return null; } #region Private Fields private NameUri _software = new NameUri("Software", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Software"); private NameUri _application = new NameUri("Application", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Application"); private NameUri _os = new NameUri("OperatingSystem", "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#OperatingSystem"); #endregion } #endregion } zeitgeist-sharp-0.8.0.0/Makefile.am0000644000175000017500000000012611563046173013761 00000000000000EXTRA_DIST = expansions.m4 SUBDIRS = Zeitgeist EXTRA_DIST = LICENSE MAINTAINERS NEWS zeitgeist-sharp-0.8.0.0/Makefile.in0000644000175000017500000005175411563046212014001 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in 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. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(top_srcdir)/configure NEWS install-sh \ missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/expansions.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d "$(distdir)" \ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr "$(distdir)"; }; } am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ ASSEMBLY_VERSION = @ASSEMBLY_VERSION@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CYGPATH_W = @CYGPATH_W@ DBUS_SHARP_10_CFLAGS = @DBUS_SHARP_10_CFLAGS@ DBUS_SHARP_10_LIBS = @DBUS_SHARP_10_LIBS@ DBUS_SHARP_GLIB_10_CFLAGS = @DBUS_SHARP_GLIB_10_CFLAGS@ DBUS_SHARP_GLIB_10_LIBS = @DBUS_SHARP_GLIB_10_LIBS@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ GACUTIL = @GACUTIL@ GACUTIL_FLAGS = @GACUTIL_FLAGS@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@ GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@ GMCS = @GMCS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MONO_CFLAGS = @MONO_CFLAGS@ MONO_LIBS = @MONO_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ XBUILD = @XBUILD@ ZEITGEIST_DAEMON_CFLAGS = @ZEITGEIST_DAEMON_CFLAGS@ ZEITGEIST_DAEMON_LIBS = @ZEITGEIST_DAEMON_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ expanded_bindir = @expanded_bindir@ expanded_datadir = @expanded_datadir@ expanded_libdir = @expanded_libdir@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = LICENSE MAINTAINERS NEWS SUBDIRS = Zeitgeist all: all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @$(am__cd) '$(distuninstallcheck_dir)' \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \ distclean distclean-generic distclean-tags distcleancheck \ distdir distuninstallcheck dvi dvi-am html html-am info \ info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: zeitgeist-sharp-0.8.0.0/MAINTAINERS0000644000175000017500000000010411460334371013412 00000000000000Manish Sinha Mirco Bauer zeitgeist-sharp-0.8.0.0/expansions.m40000644000175000017500000000146611460334371014362 00000000000000AC_DEFUN([SHAMROCK_EXPAND_LIBDIR], [ expanded_libdir=`( case $prefix in NONE) prefix=$ac_default_prefix ;; *) ;; esac case $exec_prefix in NONE) exec_prefix=$prefix ;; *) ;; esac eval echo $libdir )` AC_SUBST(expanded_libdir) ]) AC_DEFUN([SHAMROCK_EXPAND_BINDIR], [ expanded_bindir=`( case $prefix in NONE) prefix=$ac_default_prefix ;; *) ;; esac case $exec_prefix in NONE) exec_prefix=$prefix ;; *) ;; esac eval echo $bindir )` AC_SUBST(expanded_bindir) ]) AC_DEFUN([SHAMROCK_EXPAND_DATADIR], [ case $prefix in NONE) prefix=$ac_default_prefix ;; *) ;; esac case $exec_prefix in NONE) exec_prefix=$prefix ;; *) ;; esac expanded_datadir=`(eval echo $datadir)` expanded_datadir=`(eval echo $expanded_datadir)` AC_SUBST(expanded_datadir) ])