seems to be fine, pass distcheck and friends. please report.
changes:
- documentation hierarchy fixes
- replaced __UNUSED__ with EINA_UNUSED
- replaced PKG_DATA_DIR with PACKAGE_DATA_DIR"/efreet"
SVN revision: 81889
José Roberto de Souza <zehortigoza@profusion.mobi>
Leandro Pereira <leandro@profusion.mobi>
Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+
+Efreet
+------
+
+dan 'dj2' sinclair
+Brian 'rephorm' Mattern
+Sebastian Dransfeld <sd@tango.flipp.net>
+Nathan 'RbdPngn' Ingersoll
+Nicholas 'Mekius' Hughart
+Albin "Lutin" Tonnerre <albin.tonnerre@gmail.com>
+Mathieu Taillefumier <mathieu.taillefumier@free.fr>
;;
esac
+dbusservicedir="${datadir}/dbus-1/services"
+AC_ARG_WITH([dbus-services],
+ [AC_HELP_STRING([--with-dbus-services=DBUS_SERVICES],
+ [specify a directory to store dbus service files.])],
+ [dbusservicedir=$withval])
+AC_SUBST(dbusservicedir)
+
#### Default values
requirements_libs_embryo=""
requirements_libs_eio=""
requirements_libs_edbus=""
+requirements_libs_efreet=""
#requirements_libs_edje=""
-#requirements_libs_efreet=""
#requirements_libs_eeze=""
#requirements_libs_emotion=""
#requirements_libs_ethumb=""
requirements_pc_embryo=""
requirements_pc_eio=""
requirements_pc_edbus=""
+requirements_pc_efreet=""
#requirements_pc_edje=""
-#requirements_pc_efreet=""
#requirements_pc_eeze=""
#requirements_pc_emotion=""
#requirements_pc_ethumb=""
requirements_pc_deps_ecore_evas=""
requirements_pc_deps_embryo=""
requirements_pc_deps_edbus=""
+requirements_pc_deps_efreet=""
#requirements_pc_deps_edje=""
-#requirements_pc_deps_efreet=""
#requirements_pc_deps_eeze=""
#requirements_pc_deps_emotion=""
#requirements_pc_deps_ethumb=""
AC_SUBST([requirements_libs_embryo])
AC_SUBST([requirements_libs_eio])
AC_SUBST([requirements_libs_edbus])
+AC_SUBST([requirements_libs_efreet])
#AC_SUBST([requirements_libs_edje])
-#AC_SUBST([requirements_libs_efreet])
#AC_SUBST([requirements_libs_eeze])
#AC_SUBST([requirements_libs_emotion])
#AC_SUBST([requirements_libs_ethumb])
AC_SUBST([requirements_pc_embryo])
AC_SUBST([requirements_pc_eio])
AC_SUBST([requirements_pc_edbus])
+AC_SUBST([requirements_pc_efreet])
#AC_SUBST([requirements_pc_edje])
-#AC_SUBST([requirements_pc_efreet])
#AC_SUBST([requirements_pc_eeze])
#AC_SUBST([requirements_pc_emotion])
#AC_SUBST([requirements_pc_ethumb])
have_po="no"
])
AC_SUBST([LTLIBINTL])
+LOCALE_DIR="${localedir}"
+AC_SUBST(LOCALE_DIR)
if test "x${POSUB}" = "x" ; then
have_po="no"
AC_CHECK_FUNCS([\
backtrace \
backtrace_symbols \
+clearenv \
execvp \
dirfd \
fpathconf \
### Checks for libraries
-## Eina, Ecore, Ecore_Input
+## Eina, Ecore
requirements_pc_edbus="ecore >= ${PACKAGE_VERSION} eina >= ${PACKAGE_VERSION}"
#### End of EDBus
+#### Efreet
+
+AC_MSG_NOTICE([Efreet checks])
+
+### Additional options to configure
+
+### Default values
+
+AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
+
+### Checks for programs
+
+### Checks for libraries
+
+## Eet, Ecore, Ecore_File, EDBus, Eina, Evil
+
+requirements_pc_efreet="eet >= ${PACKAGE_VERSION} ecore >= ${PACKAGE_VERSION} ecore-file >= ${PACKAGE_VERSION} edbus2 >= ${PACKAGE_VERSION} eina >= ${PACKAGE_VERSION} ${platform_pc_evil}"
+
+AC_ARG_VAR([EFREET_CFLAGS], [preprocessor flags for Efreet])
+AC_SUBST([EFREET_CFLAGS])
+AC_ARG_VAR([EFREET_LIBS], [linker flags for Efreet])
+AC_SUBST([EFREET_LIBS])
+
+### Checks for header files
+
+### Checks for types
+
+### Checks for structures
+
+### Checks for compiler characteristics
+
+### Checks for linker characteristics
+
+### Checks for library functions
+
+#### End of Efreet
+
+
AC_CONFIG_FILES([
Makefile
pc/embryo.pc
pc/eio.pc
pc/edbus2.pc
+pc/efreet.pc
+pc/efreet-mime.pc
+pc/efreet-trash.pc
+dbus-services/org.enlightenment.Efreet.service
$po_makefile_in
])
eet_ _eet_ Eet_ _Eet_ EET_ _EET_ \
ecore_ _ecore_ Ecore_ _Ecore_ ECORE_ _ECORE_ \
eio_ _eio_ Eio_ _Eio_ EIO_ _EIO_ \
-edbus_ _edbus_ EDBus_ _EDBus_ EDBUS_ _EDBUS_
+edbus_ _edbus_ EDBus_ _EDBus_ EDBUS_ _EDBUS_ \
+efreet_ _efreet_ Efreet_ _Efreet_ EFREET_ _EFREET_
+
#---------------------------------------------------------------------------
# configuration options related to the HTML output
# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
# will append .docset to the name.
-DOCSET_BUNDLE_ID = org.enlightenment.Eina
+DOCSET_BUNDLE_ID = org.enlightenment.Efl
# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
# the documentation publisher. This should be a reverse domain-name style
# string, e.g. com.mycompany.MyDocSet.documentation.
-DOCSET_PUBLISHER_ID = org.enlightenment.Eina
+DOCSET_PUBLISHER_ID = org.enlightenment.Ef;
# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
# Qt Help Project output. For more information please see
# http://doc.trolltech.com/qthelpproject.html#namespace
-QHP_NAMESPACE = org.enlightenment.Eina
+QHP_NAMESPACE = org.enlightenment.Efl
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
# Qt Help Project output. For more information please see
# the directory name containing the HTML and XML files should also have
# this name.
-ECLIPSE_DOC_ID = org.enlightenment.Eina
+ECLIPSE_DOC_ID = org.enlightenment.Efl
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
# top of each HTML page. The value NO (the default) enables the index and
EINA_WARN_UNUSED_RESULT= \
EAPI= \
EINA_PURE= \
- EINA_CONST=
+ EINA_CONST= \
+ EINA_UNUSED=
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
* @li @ref evil_main microsoft windows portability layer.
* @li @ref eio_main asynchronous input/output
* @li @ref edbus_main d-bus integration.
+ * @li @ref efreet_main freedesktop.org (xdg) menu and desktop integration.
*
*/
* @author Mike McCormack <mj.mccormack@@samsung.com>
* @author Myoungwoon Roy Kim(roy_kim) <myoungwoon.kim@@samsung.com> <myoungwoon@@gmail.com>
* @author Myungjae Lee <mjae.lee@@samsung.com>
- * @author Nathan Ingersoll <ningerso@@d.umn.edu>
- * @author Nathan Ingersoll <rbdpngn@@users.sourceforge.net>
+ * @author Nathan 'RbdPngn' Ingersoll <ningerso@@d.umn.edu>
+ * @author Nicholas 'Mekius' Hughart
* @author Nicholas Curran <quasar@@bigblue.net.au>
* @author Nicolas Aguirre <aguirre.nicolas@@gmail.com>
* @author Peter Wehrfritz <peter.wehrfritz@@web.de>
* @author Samsung SAIT
* @author Sangho Park <gouache95@gmail.com>
* @author Sebastian Dransfeld <sd@@tango.flipp.net>
- * @author Sebastian Dransfeld <sebastid@@tango.flipp.net>
* @author Seungsoo Woo <om101.woo@@samsung.com>
* @author Shilpa Singh <shilpa.singh@@samsung.com> <shilpasingh.o@@gmail.com>
* @author Simon Poole <simon.armlinux@@themalago.net>
*
* @brief D-Bus integration with EFL (Ecore).
*/
+
+/**
+ * @defgroup Efreet
+ *
+ * @brief FreeDesktop.Org (XDG) menu and desktop integration.
+ */
Name: efreet-mime
Description: Freedesktop Shared Mime Info standard implementation for the EFL
-@pkgconfig_requires_private@: @requirement_efreet@
Version: @VERSION@
+Requires.private: @requirement_efreet@
Libs: -L${libdir} -lefreet_mime
Cflags: -I${includedir}/efreet-@VMAJ@
Name: efreet-trash
Description: Freedesktop Shared Trash implementation for the EFL
-@pkgconfig_requires_private@: @requirement_efreet@
Version: @VERSION@
+Requires.private: @requirement_efreet@
Libs: -L${libdir} -lefreet_trash
Cflags: -I${includedir}/efreet-@VMAJ@
Name: efreet
Description: Freedesktop standards implementation for the EFL
-@pkgconfig_requires_private@: @requirement_efreet@
Version: @VERSION@
+Requires.private: @requirement_efreet@
Libs: -L${libdir} -lefreet
Cflags: -I${includedir}/efreet-@VMAJ@
lib_LTLIBRARIES =
bin_PROGRAMS =
+noinst_PROGRAMS =
check_PROGRAMS =
EXTRA_DIST =
include Makefile_Embryo.am
include Makefile_Eio.am
include Makefile_EDBus.am
+include Makefile_Efreet.am
.PHONY: benchmark examples
clean-local:
rm -rf bin/eet/*.gcno
+ rm -rf bin/efreet/*.gcno
rm -rf lib/evil/*.gcno
rm -rf lib/eina/*.gcno
rm -rf lib/eo/*.gcno
rm -rf lib/evas/file/*.gcno
rm -rf lib/embryo/*.gcno
rm -rf lib/edbus/*.gcno
+ rm -rf lib/efreet/*.gcno
rm -rf modules/eina/mp/pass_through/*.gcno
rm -rf modules/eina/mp/one_big/*.gcno
rm -rf modules/eina/mp/chained_pool/*.gcno
### Utils
-noinst_PROGRAMS = utils/ecore/makekeys
+noinst_PROGRAMS += utils/ecore/makekeys
utils_ecore_makekeys_SOURCES = utils/ecore/makekeys.c
--- /dev/null
+
+### Library
+
+lib_LTLIBRARIES += \
+lib/efreet/libefreet.la \
+lib/efreet/libefreet_mime.la \
+lib/efreet/libefreet_trash.la
+
+EFREET_COMMON_CPPFLAGS = \
+-I$(top_srcdir)/src/lib/eina \
+-I$(top_builddir)/src/lib/eina \
+-I$(top_srcdir)/src/lib/eo \
+-I$(top_builddir)/src/lib/eo \
+-I$(top_srcdir)/src/lib/ecore \
+-I$(top_builddir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_file \
+-I$(top_builddir)/src/lib/ecore_file \
+-I$(top_srcdir)/src/lib/eet \
+-I$(top_builddir)/src/lib/eet \
+-I$(top_srcdir)/src/lib/edbus \
+-I$(top_builddir)/src/lib/edbus \
+-I$(top_srcdir)/src/lib/efreet \
+-I$(top_builddir)/src/lib/efreet \
+-DPACKAGE_LIB_DIR=\"$(libdir)\" \
+-DPACKAGE_DATA_DIR=\"$(datadir)\" \
+-DLOCALE_DIR=\"@LOCALE_DIR@\" \
+-DEFL_EFREET_BUILD \
+@EFL_CFLAGS@ \
+@EFL_COV_CFLAGS@ \
+@EFREET_CFLAGS@ \
+@USE_EVIL_CFLAGS@
+
+EFREET_COMMON_LIBADD = \
+lib/eina/libeina.la \
+lib/eo/libeo.la \
+lib/ecore/libecore.la \
+lib/ecore_file/libecore_file.la \
+lib/eet/libeet.la \
+lib/edbus/libedbus2.la \
+@USE_EVIL_LIBS@ \
+@EFREET_LIBS@ \
+@EFL_COV_LIBS@
+
+EFREET_COMMON_USER_LIBADD = $(EFREET_COMMON_LIBADD) lib/efreet/libefreet.la
+
+EFREET_COMMON_LDFLAGS = -no-undefined -version-info @version_info@ @release_info@
+
+installed_efreetmainheadersdir = $(includedir)/efreet-@VMAJ@
+dist_installed_efreetmainheaders_DATA = \
+lib/efreet/Efreet.h \
+lib/efreet/efreet_base.h \
+lib/efreet/efreet_desktop.h \
+lib/efreet/efreet_icon.h \
+lib/efreet/efreet_ini.h \
+lib/efreet/efreet_menu.h \
+lib/efreet/efreet_utils.h \
+lib/efreet/efreet_uri.h \
+lib/efreet/Efreet_Mime.h \
+lib/efreet/Efreet_Trash.h
+
+# libefreet.la
+lib_efreet_libefreet_la_SOURCES = \
+lib/efreet/efreet.c \
+lib/efreet/efreet_base.c \
+lib/efreet/efreet_icon.c \
+lib/efreet/efreet_xml.c \
+lib/efreet/efreet_ini.c \
+lib/efreet/efreet_desktop.c \
+lib/efreet/efreet_desktop_command.c \
+lib/efreet/efreet_menu.c \
+lib/efreet/efreet_utils.c \
+lib/efreet/efreet_uri.c \
+lib/efreet/efreet_cache.c \
+lib/efreet/efreet_private.h \
+lib/efreet/efreet_xml.h \
+lib/efreet/efreet_cache_private.h \
+lib/efreet/efreet_alloca.h
+
+lib_efreet_libefreet_la_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+lib_efreet_libefreet_la_LIBADD = $(EFREET_COMMON_LIBADD)
+lib_efreet_libefreet_la_LDFLAGS = $(EFREET_COMMON_LDFLAGS)
+
+# libefreet_mime.la
+lib_efreet_libefreet_mime_la_SOURCES = lib/efreet/efreet_mime.c
+lib_efreet_libefreet_mime_la_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+lib_efreet_libefreet_mime_la_LIBADD = $(EFREET_COMMON_USER_LIBADD)
+lib_efreet_libefreet_mime_la_LDFLAGS = $(EFREET_COMMON_LDFLAGS)
+
+# libefreet_trash.la
+lib_efreet_libefreet_trash_la_SOURCES = lib/efreet/efreet_trash.c
+lib_efreet_libefreet_trash_la_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+lib_efreet_libefreet_trash_la_LIBADD = $(EFREET_COMMON_USER_LIBADD)
+lib_efreet_libefreet_trash_la_LDFLAGS = $(EFREET_COMMON_LDFLAGS)
+
+
+### Binary
+
+bin_PROGRAMS += bin/efreet/efreetd
+
+bin_efreet_efreetd_SOURCES = \
+bin/efreet/efreetd.c \
+bin/efreet/efreetd.h \
+bin/efreet/efreetd_dbus.h \
+bin/efreet/efreetd_dbus.c \
+bin/efreet/efreetd_cache.h \
+bin/efreet/efreetd_cache.c
+
+bin_efreet_efreetd_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+bin_efreet_efreetd_LDADD = $(EFREET_COMMON_USER_LIBADD)
+
+efreetinternal_bindir=$(libdir)/efreet
+efreetinternal_bin_PROGRAMS = \
+bin/efreet/efreet_desktop_cache_create \
+bin/efreet/efreet_icon_cache_create
+
+bin_efreet_efreet_desktop_cache_create_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+bin_efreet_efreet_desktop_cache_create_LDADD = $(EFREET_COMMON_USER_LIBADD)
+bin_efreet_efreet_desktop_cache_create_SOURCES = \
+bin/efreet/efreet_desktop_cache_create.c
+
+bin_efreet_efreet_icon_cache_create_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+bin_efreet_efreet_icon_cache_create_LDADD = $(EFREET_COMMON_USER_LIBADD)
+bin_efreet_efreet_icon_cache_create_SOURCES = \
+bin/efreet/efreet_icon_cache_create.c
+
+### Unit tests
+
+if EFL_ENABLE_TESTS
+
+noinst_PROGRAMS += \
+tests/efreet/efreet_test \
+tests/efreet/efreet_spec_test \
+tests/efreet/efreet_cache_test \
+tests/efreet/efreet_icon_cache_dump \
+tests/efreet/efreet_user_dir \
+tests/efreet/compare/efreet_alloc \
+tests/efreet/compare/efreet_menu_alloc
+
+
+# efreet_test
+tests_efreet_efreet_test_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+tests_efreet_efreet_test_LDADD = \
+$(EFREET_COMMON_USER_LIBADD) \
+lib/efreet/libefreet_mime.la
+
+tests_efreet_efreet_test_SOURCES = \
+tests/efreet/ef_test.h \
+tests/efreet/ef_data_dirs.c \
+tests/efreet/ef_icon_theme.c \
+tests/efreet/ef_ini.c \
+tests/efreet/ef_utils.c \
+tests/efreet/ef_desktop.c \
+tests/efreet/ef_menu.c \
+tests/efreet/ef_mime.c \
+tests/efreet/main.c
+
+# efreet_spec_test
+tests_efreet_efreet_spec_test_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+tests_efreet_efreet_spec_test_LDADD = $(EFREET_COMMON_USER_LIBADD)
+tests_efreet_efreet_spec_test_SOURCES = \
+tests/efreet/efreet_spec_test.c
+
+# efreet_cache_test
+tests_efreet_efreet_cache_test_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+tests_efreet_efreet_cache_test_LDADD = $(EFREET_COMMON_USER_LIBADD)
+tests_efreet_efreet_cache_test_SOURCES = \
+tests/efreet/ef_cache.c
+
+# efreet_icon_cache_dump
+tests_efreet_efreet_icon_cache_dump_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+tests_efreet_efreet_icon_cache_dump_LDADD = $(EFREET_COMMON_USER_LIBADD)
+tests_efreet_efreet_icon_cache_dump_SOURCES = \
+tests/efreet/efreet_icon_cache_dump.c
+
+# efreet_user_dir
+tests_efreet_efreet_user_dir_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+tests_efreet_efreet_user_dir_LDADD = $(EFREET_COMMON_USER_LIBADD)
+tests_efreet_efreet_user_dir_SOURCES = \
+tests/efreet/efreet_user_dir.c
+
+# efreet_alloc
+tests_efreet_compare_efreet_alloc_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+tests_efreet_compare_efreet_alloc_LDADD = $(EFREET_COMMON_USER_LIBADD)
+tests_efreet_compare_efreet_alloc_SOURCES = \
+tests/efreet/compare/efreet_alloc.c \
+tests/efreet/compare/comp.h
+
+# efreet_menu_alloc
+tests_efreet_compare_efreet_menu_alloc_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS)
+tests_efreet_compare_efreet_menu_alloc_LDADD = $(EFREET_COMMON_USER_LIBADD)
+tests_efreet_compare_efreet_menu_alloc_SOURCES = \
+tests/efreet/compare/efreet_menu_alloc.c \
+tests/efreet/compare/comp.h
+
+efreettestdir = $(datadir)/efreet/test
+efreettest_DATA = \
+tests/efreet/data/test.ini \
+tests/efreet/data/long.ini \
+tests/efreet/data/test.desktop \
+tests/efreet/data/test_type.desktop \
+tests/efreet/data/test.menu \
+tests/efreet/data/test_menu_slash_bad.menu \
+tests/efreet/data/entry.png \
+tests/efreet/data/entry \
+tests/efreet/data/preferences.menu \
+tests/efreet/data/test_garbage
+
+efreettestsubdir = $(datadir)/efreet/test/sub
+efreettestsub_DATA = \
+tests/efreet/data/sub/test.desktop
+
+check_PROGRAMS += tests/efreet/efreet_suite
+
+tests_efreet_efreet_suite_SOURCES = \
+tests/efreet/efreet_suite.c \
+tests/efreet/efreet_test_efreet.c \
+tests/efreet/efreet_test_efreet_cache.c
+
+tests_efreet_efreet_suite_CPPFLAGS = $(EFREET_COMMON_CPPFLAGS) @CHECK_CFLAGS@
+tests_efreet_efreet_suite_LDADD = $(EFREET_COMMON_USER_LIBADD) @CHECK_LIBS@
+
+endif
static Eina_Hash *exec = NULL;
static int
-cache_add(const char *path, const char *file_id, int priority __UNUSED__, int *changed)
+cache_add(const char *path, const char *file_id, int priority EINA_UNUSED, int *changed)
{
Efreet_Desktop *desk;
char *ext;
/* internal */
static Eina_Bool
-icon_cache_update_cache_cb(void *data __UNUSED__)
+icon_cache_update_cache_cb(void *data EINA_UNUSED)
{
char file[PATH_MAX];
int prio;
}
static Eina_Bool
-desktop_cache_update_cache_cb(void *data __UNUSED__)
+desktop_cache_update_cache_cb(void *data EINA_UNUSED)
{
char file[PATH_MAX];
int prio;
}
static Eina_Bool
-cache_exe_data_cb(void *data __UNUSED__, int type __UNUSED__, void *event)
+cache_exe_data_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
{
Ecore_Exe_Event_Data *ev;
}
static Eina_Bool
-cache_exe_del_cb(void *data __UNUSED__, int type __UNUSED__, void *event)
+cache_exe_del_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
{
Ecore_Exe_Event_Del *ev;
}
static void
-icon_changes_cb(void *data __UNUSED__, Ecore_File_Monitor *em __UNUSED__,
+icon_changes_cb(void *data EINA_UNUSED, Ecore_File_Monitor *em EINA_UNUSED,
Ecore_File_Event event, const char *path)
{
/* TODO: If we get a stale symlink, we need to rerun cache creation */
}
static void
-desktop_changes_cb(void *data __UNUSED__, Ecore_File_Monitor *em __UNUSED__,
+desktop_changes_cb(void *data EINA_UNUSED, Ecore_File_Monitor *em EINA_UNUSED,
Ecore_File_Event event, const char *path)
{
const char *ext;
static int clients = 0;
static Eina_Bool
-do_shutdown(void *data __UNUSED__)
+do_shutdown(void *data EINA_UNUSED)
{
quit();
return ECORE_CALLBACK_CANCEL;
}
static void
-disconnected(void *context __UNUSED__, EDBus_Connection *connection __UNUSED__, void *event_info __UNUSED__)
+disconnected(void *context EINA_UNUSED, EDBus_Connection *connection EINA_UNUSED, void *event_info EINA_UNUSED)
{
INF("disconnected");
quit();
}
static EDBus_Message *
-do_register(const EDBus_Service_Interface *ifc __UNUSED__, const EDBus_Message *message)
+do_register(const EDBus_Service_Interface *ifc EINA_UNUSED, const EDBus_Message *message)
{
EDBus_Message *reply;
const char *lang;
}
static EDBus_Message *
-add_desktop_dirs(const EDBus_Service_Interface *ifc __UNUSED__, const EDBus_Message *message)
+add_desktop_dirs(const EDBus_Service_Interface *ifc EINA_UNUSED, const EDBus_Message *message)
{
EDBus_Message_Iter *array = NULL;
const char *dir;
}
static EDBus_Message *
-add_icon_dirs(const EDBus_Service_Interface *ifc __UNUSED__, const EDBus_Message *message)
+add_icon_dirs(const EDBus_Service_Interface *ifc EINA_UNUSED, const EDBus_Message *message)
{
EDBus_Message_Iter *array = NULL;
const char *dir;
}
static EDBus_Message *
-build_desktop_cache(const EDBus_Service_Interface *ifc __UNUSED__, const EDBus_Message *message __UNUSED__)
+build_desktop_cache(const EDBus_Service_Interface *ifc EINA_UNUSED, const EDBus_Message *message EINA_UNUSED)
{
const char *lang;
}
static EDBus_Message *
-add_icon_exts(const EDBus_Service_Interface *ifc __UNUSED__, const EDBus_Message *message)
+add_icon_exts(const EDBus_Service_Interface *ifc EINA_UNUSED, const EDBus_Message *message)
{
EDBus_Message_Iter *array = NULL;
const char *ext;
};
static void
-on_name_request(void *data __UNUSED__, const EDBus_Message *msg, EDBus_Pending *pending __UNUSED__)
+on_name_request(void *data EINA_UNUSED, const EDBus_Message *msg, EDBus_Pending *pending EINA_UNUSED)
{
unsigned int reply;
*/
/**
- * @mainpage The Efreet Library
+ * @page efreet_main Efreet
*
- * @section intro Introduction
+ * @section toc Table of Contents
+ *
+ * @li @ref efreet_main_intro
+ * @li @ref efreet_main_compiling
+ * @li @ref efreet_main_next_steps
+ *
+ * @section efreet_main_intro Introduction
*
* Efreet is a library designed to help apps work several of the
* Freedesktop.org standards regarding Icons, Desktop files and Menus. To
* @li FDO URI Specification
* @li Shared Mime Info Specification
* @li Trash Specification
+ *
+ * @section efreet_main_compiling How to compile
+ *
+ * Efreet is a library your application links to. The procedure for
+ * this is very simple. You simply have to compile your application
+ * with the appropriate compiler flags that the @c pkg-config script
+ * outputs. Mime and Thrash are separated modules. For example, to
+ * compile with mime support:
+ *
+ * Compiling C or C++ files into object files:
+ *
+ * @verbatim
+ gcc -c -o main.o main.c `pkg-config --cflags efreet efreet-mime`
+ @endverbatim
+ *
+ * Linking object files into a binary executable:
+ *
+ * @verbatim
+ gcc -o my_application main.o `pkg-config --libs efreet efreet-mime`
+ @endverbatim
+ *
+ * See @ref pkgconfig
+ *
+ * @section efreet_main_next_steps Next Steps
+ *
+ * After you understood what Efreet is and installed it in your system
+ * you should proceed understanding the programming interface.
+ *
+ * Recommended reading:
+ *
+ * @li @ref Efreet_Base for base directory specification (XDG variables).
+ * @li @ref Efreet_Desktop to access .desktop files
+ * @li @ref Efreet_Menu to access menus of .desktop files
+ * @li @ref Efreet_Mime to identify files based on extension or header.
+ * @li @ref Efreet_Trash to access file trash implementation.
+ * @li @ref Efreet_Ini for parsing INI-like key-value files.
+ * @li @ref Efreet_Uri for URI parsing and encoding.
+ * @li @ref Efreet_Utils general utilities.
+ *
*/
#include <Eina.h>
* Freedesktop.org Shared Mime Info standard.
* Efreet_Mime.h provides all of the necessary headers and
* includes to work with Efreet_Mime.
+ *
+ * @ingroup Efreet
* @{
*/
* @addtogroup Efreet_Trash Efreet_Trash: The XDG Trash Specification
* Efreet_Trash.h provides all of the necessary headers and includes to
* work with Efreet_Trash.
+ *
+ * @ingroup Efreet
* @{
*/
}
#else
EAPI void
-efreet_fsetowner(int fd __UNUSED__)
+efreet_fsetowner(int fd EINA_UNUSED)
{
}
#endif
}
#else
EAPI void
-efreet_setowner(const char *path __UNUSED__)
+efreet_setowner(const char *path EINA_UNUSED)
{
}
#endif
* specification.
* @addtogroup Efreet_Base Efreet_Base: The XDG Base Directory Specification
* functions
+ * @ingroup Efreet
*
* @see http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
* @see http://0pointer.de/blog/projects/tmp.html
}
static void
-on_send_register(void *data __UNUSED__, const EDBus_Message *msg, EDBus_Pending *pending __UNUSED__)
+on_send_register(void *data EINA_UNUSED, const EDBus_Message *msg, EDBus_Pending *pending EINA_UNUSED)
{
const char *errname, *errmsg;
Eina_Bool exists;
}
static void
-desktop_cache_update(void *context __UNUSED__, const EDBus_Message *msg)
+desktop_cache_update(void *context EINA_UNUSED, const EDBus_Message *msg)
{
Eina_Bool update;
}
static void
-icon_cache_update(void *context __UNUSED__, const EDBus_Message *msg)
+icon_cache_update(void *context EINA_UNUSED, const EDBus_Message *msg)
{
Efreet_Event_Cache_Update *ev = NULL;
Efreet_Old_Cache *d = NULL;
* @brief Parses out an X- key from @a node and stores in @a desktop
*/
static Eina_Bool
-efreet_desktop_x_fields_parse(const Eina_Hash *hash __UNUSED__, const void *key, void *value, void *fdata)
+efreet_desktop_x_fields_parse(const Eina_Hash *hash EINA_UNUSED, const void *key, void *value, void *fdata)
{
Efreet_Desktop * desktop = fdata;
* @brief Stores an X- key from @a node and stores in @a ini
*/
static Eina_Bool
-efreet_desktop_x_fields_save(const Eina_Hash *hash __UNUSED__, const void *key, void *value, void *fdata)
+efreet_desktop_x_fields_save(const Eina_Hash *hash EINA_UNUSED, const void *key, void *value, void *fdata)
{
Efreet_Ini *ini = fdata;
efreet_ini_string_set(ini, key, value);
* FDO desktop entry specificiation.
* @addtogroup Efreet_Desktop Efreet_Desktop: The FDO Desktop Entry
* Specification functions and structures
+ * @ingroup Efreet
*
* @{
*/
static void *
efreet_desktop_exec_cb(void *data,
- Efreet_Desktop *desktop __UNUSED__,
+ Efreet_Desktop *desktop EINA_UNUSED,
char *exec,
- int remaining __UNUSED__)
+ int remaining EINA_UNUSED)
{
ecore_exe_run(exec, data);
free(exec);
static void
-efreet_desktop_cb_download_complete(void *data, const char *file __UNUSED__,
- int status __UNUSED__)
+efreet_desktop_cb_download_complete(void *data, const char *file EINA_UNUSED,
+ int status EINA_UNUSED)
{
Efreet_Desktop_Command_File *f;
static int
efreet_desktop_cb_download_progress(void *data,
- const char *file __UNUSED__,
+ const char *file EINA_UNUSED,
long int dltotal, long int dlnow,
- long int ultotal __UNUSED__,
- long int ulnow __UNUSED__)
+ long int ultotal EINA_UNUSED,
+ long int ulnow EINA_UNUSED)
{
Efreet_Desktop_Command_File *dcf;
}
static void
-efreet_cache_icon_dirs_add_cb(void *data __UNUSED__)
+efreet_cache_icon_dirs_add_cb(void *data EINA_UNUSED)
{
efreet_cache_icon_dirs_add(efreet_extra_icon_dirs);
}
* @addtogroup Efreet_Icon Efreet_Icon: The FDO Icon Theme
* Specification functions and structures
*
+ * @ingroup Efreet
* @{
*/
}
static Eina_Bool
-efreet_ini_section_save(const Eina_Hash *hash __UNUSED__, const void *key, void *value, void *fdata)
+efreet_ini_section_save(const Eina_Hash *hash EINA_UNUSED, const void *key, void *value, void *fdata)
{
FILE *f = fdata;
}
static Eina_Bool
-efreet_ini_value_save(const Eina_Hash *hash __UNUSED__, const void *key, void *value, void *fdata)
+efreet_ini_value_save(const Eina_Hash *hash EINA_UNUSED, const void *key, void *value, void *fdata)
{
FILE *f = fdata;
* @file efreet_ini.h
* @brief A simple and fast INI parser
* @addtogroup Efreet_Ini Efreet_Ini: An INI parser
+ * @ingroup Efreet
*
* @{
*/
* @brief Handles the DefaultAppDirs
*/
static int
-efreet_menu_handle_default_app_dirs(Efreet_Menu_Internal *parent, Efreet_Xml *xml __UNUSED__)
+efreet_menu_handle_default_app_dirs(Efreet_Menu_Internal *parent, Efreet_Xml *xml EINA_UNUSED)
{
Eina_List *prepend = NULL;
Eina_List *dirs;
* @brief Handles the DefaultDirectoryDirs tag
*/
static int
-efreet_menu_handle_default_directory_dirs(Efreet_Menu_Internal *parent, Efreet_Xml *xml __UNUSED__)
+efreet_menu_handle_default_directory_dirs(Efreet_Menu_Internal *parent, Efreet_Xml *xml EINA_UNUSED)
{
Eina_List *dirs;
char *dir;
* @brief Handles the KDELegacyDirs tag
*/
static int
-efreet_menu_handle_kde_legacy_dirs(Efreet_Menu_Internal *parent, Efreet_Xml *xml __UNUSED__)
+efreet_menu_handle_kde_legacy_dirs(Efreet_Menu_Internal *parent, Efreet_Xml *xml EINA_UNUSED)
{
Eina_List *l;
const char *dir;
* Menu Specification.
* @addtogroup Efreet_Menu Efreet_Menu: The FDO Desktop Menu Specification
* functions and structures
+ * @ingroup Efreet
*
* @{
*/
* the globs are updated.
*/
static void
-efreet_mime_cb_update_file(void *data __UNUSED__,
- Ecore_File_Monitor *monitor __UNUSED__,
- Ecore_File_Event event __UNUSED__,
+efreet_mime_cb_update_file(void *data EINA_UNUSED,
+ Ecore_File_Monitor *monitor EINA_UNUSED,
+ Ecore_File_Event event EINA_UNUSED,
const char *path)
{
Eina_List *datadirs = NULL;
* @brief Contains methods and defines that are private to the Efreet
* implementaion
* @addtogroup Efreet_Private Efreet_Private: Private methods and defines
+ * @ingroup Efreet
*
* @{
*/
* @file efreet_uri.h
* @brief Contains the methods used to support the FDO URI specification.
* @addtogroup Efreet_Uri Efreet_Uri: The FDO URI Specification functions
+ * @ingroup Efreet
* @{
*/
* @brief Contains utility functions to ease usage of Efreet.
* FDO desktop entry specificiation.
* @addtogroup Efreet_Utils Efreet utilities for FDO
+ * @ingroup Efreet
*
* @{
*/
* @internal
* @file efreet_xml.h
* @brief A simple and fast XML parser
- * @addtogroup Efreet_Xml Efreet_Xml: An XML parser
+ * @addtogroup Efreet_Xml Efreet_Xml: An XML parser (private)
+ * @ingroup Efreet
+ *
+ * Consider using @ref Eina_Simple_XML_Group instead.
+ *
+ * @private
*
* @{
*/
--- /dev/null
+
+MAINTAINERCLEANFILES = Makefile.in
+
+testdir = $(pkgdatadir)/test/sub
+test_DATA = \
+test.desktop
+
+EXTRA_DIST = $(test_DATA)
}
static Eina_Bool
-icon_handler_cb(void *data __UNUSED__, int event_type __UNUSED__, void *event __UNUSED__)
+icon_handler_cb(void *data EINA_UNUSED, int event_type EINA_UNUSED, void *event EINA_UNUSED)
{
icon_cb = EINA_TRUE;
if (icon_cb && desktop_cb)
}
static Eina_Bool
-desktop_handler_cb(void *data __UNUSED__, int event_type __UNUSED__, void *event __UNUSED__)
+desktop_handler_cb(void *data EINA_UNUSED, int event_type EINA_UNUSED, void *event EINA_UNUSED)
{
desktop_cb = EINA_TRUE;
if (icon_cb && desktop_cb)
}
int
-main(int argc __UNUSED__, char **argv __UNUSED__)
+main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
Ecore_Event_Handler *icon_handler;
Ecore_Event_Handler *desktop_handler;
Eina_List *l;
int ret = 1;
- desktop = efreet_desktop_get(PKG_DATA_DIR"/test/test.desktop");
+ desktop = efreet_desktop_get(PACKAGE_DATA_DIR"/efreet/test/test.desktop");
if (!desktop)
{
printf("No desktop found.\n");
Efreet_Desktop *desktop;
int ret = 1;
- desktop = efreet_desktop_get(PKG_DATA_DIR"/test/test.desktop");
+ desktop = efreet_desktop_get(PACKAGE_DATA_DIR"/efreet/test/test.desktop");
if (desktop)
{
const char *id;
char *prefix;
char *expected;
} tests[] = {
- {PKG_DATA_DIR"/test/", 0, NULL, "test.desktop"},
- {PKG_DATA_DIR"/", 0, NULL, "test-test.desktop"},
- {PKG_DATA_DIR"/", 1, NULL, "test.desktop"},
- {PKG_DATA_DIR"/", 1, "prefix", "prefix-test.desktop"},
+ {PACKAGE_DATA_DIR"/efreet/test/", 0, NULL, "test.desktop"},
+ {PACKAGE_DATA_DIR"/efreet/", 0, NULL, "test-test.desktop"},
+ {PACKAGE_DATA_DIR"/efreet/", 1, NULL, "test.desktop"},
+ {PACKAGE_DATA_DIR"/efreet/", 1, "prefix", "prefix-test.desktop"},
{NULL, 0, NULL, NULL}
};
Efreet_Desktop *desktop;
printf("\n");
- desktop = efreet_desktop_get(PKG_DATA_DIR"/test/test.desktop");
+ desktop = efreet_desktop_get(PACKAGE_DATA_DIR"/efreet/test/test.desktop");
if (!desktop)
{
printf("Failed to get Desktop file\n");
}
static void *
-_cb_command(void *data, Efreet_Desktop *desktop __UNUSED__,
- char *exec, int remaining __UNUSED__)
+_cb_command(void *data, Efreet_Desktop *desktop EINA_UNUSED,
+ char *exec, int remaining EINA_UNUSED)
{
Test_Info *info = data;
char *expected;
}
static void *
-cb_type_parse(Efreet_Desktop *desktop __UNUSED__, Efreet_Ini *ini)
+cb_type_parse(Efreet_Desktop *desktop EINA_UNUSED, Efreet_Ini *ini)
{
const char *val;
val = efreet_ini_string_get(ini, "X-Test");
my_type = efreet_desktop_type_add("My_Type", cb_type_parse, NULL,
(Efreet_Desktop_Type_Free_Cb)free);
- desktop = efreet_desktop_get(PKG_DATA_DIR"/test/test_type.desktop");
+ desktop = efreet_desktop_get(PACKAGE_DATA_DIR"/efreet/test/test_type.desktop");
if (!desktop)
{
printf("No desktop found.\n");
}
static Eina_Bool
-_hash_keys(Eina_Hash *hash __UNUSED__, const char *key, void *list)
+_hash_keys(Eina_Hash *hash EINA_UNUSED, const char *key, void *list)
{
Eina_List **l = list;
putenv("LC_ALL=en_US");
- ini = efreet_ini_new(PKG_DATA_DIR"/test/test.ini");
+ ini = efreet_ini_new(PACKAGE_DATA_DIR"/efreet/test/test.ini");
if (!ini)
{
printf("efreet_ini_parse() Failed to initialize Efreet_Ini\n");
{NULL, 0}
};
- ini = efreet_ini_new(PKG_DATA_DIR"/test/long.ini");
+ ini = efreet_ini_new(PACKAGE_DATA_DIR"/efreet/test/long.ini");
if (!ini)
{
printf("Ini failed to parse.\n");
Efreet_Ini *ini;
int ret = 1;
- ini = efreet_ini_new(PKG_DATA_DIR"/test/test_garbage");
+ ini = efreet_ini_new(PACKAGE_DATA_DIR"/efreet/test/test_garbage");
if (!ini)
{
printf("Ini failed to parse.\n");
Efreet_Menu *menu;
menu = efreet_menu_get();
-// menu = efreet_menu_parse(PKG_DATA_DIR"/test/test.menu");
+// menu = efreet_menu_parse(PACKAGE_DATA_DIR"/efreet/test/test.menu");
if (!menu)
{
printf("efreet_menu_get() returned NULL\n");
{
Efreet_Menu *menu;
- menu = efreet_menu_parse(PKG_DATA_DIR"/test/test_menu_slash_bad.menu");
+ menu = efreet_menu_parse(PACKAGE_DATA_DIR"/efreet/test/test_menu_slash_bad.menu");
if (menu)
{
printf("efreet_menu_get() didn't return NULL\n");
int ret;
// menu = efreet_menu_get();
- menu = efreet_menu_parse(PKG_DATA_DIR"/test/test.menu");
+ menu = efreet_menu_parse(PACKAGE_DATA_DIR"/efreet/test/test.menu");
if (!menu)
{
printf("efreet_menu_get() returned NULL\n");
Efreet_Desktop *desktop;
// menu = efreet_menu_get();
- menu = efreet_menu_parse(PKG_DATA_DIR"/test/test.menu");
+ menu = efreet_menu_parse(PACKAGE_DATA_DIR"/efreet/test/test.menu");
if (!menu)
{
printf("efreet_menu_get() returned NULL\n");
printf("\n");
#endif
- desktop = efreet_desktop_get(PKG_DATA_DIR"/test/test.desktop");
+ desktop = efreet_desktop_get(PACKAGE_DATA_DIR"/efreet/test/test.desktop");
if (!desktop)
{
efreet_menu_free(menu);
char *file;
char *mime;
} files[] = {
- {PKG_DATA_DIR"/test/test_type.desktop", "application/x-desktop"},
- {PKG_DATA_DIR"/test/entry.png", "image/png"},
- {PKG_DATA_DIR"/test/entry", "image/png"},
- {PKG_DATA_DIR"/test/sub", "inode/directory"},
+ {PACKAGE_DATA_DIR"/efreet/test/test_type.desktop", "application/x-desktop"},
+ {PACKAGE_DATA_DIR"/efreet/test/entry.png", "image/png"},
+ {PACKAGE_DATA_DIR"/efreet/test/entry", "image/png"},
+ {PACKAGE_DATA_DIR"/efreet/test/sub", "inode/directory"},
{NULL, NULL}
};
double start;
static void dump(Efreet_Menu *menu, const char *path);
int
-main(int argc __UNUSED__, char **argv __UNUSED__)
+main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
Efreet_Menu *menu;