cleaned up Doxygen documentation + included Funambol API

git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@693 15ad00c4-1369-45f4-8270-35d70d36bdcd
This commit is contained in:
Patrick Ohly 2008-08-02 17:48:17 +00:00
parent d08d1f7e88
commit 9a7fca01b4
5 changed files with 65 additions and 49 deletions

View File

@ -25,7 +25,7 @@ DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded # The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project. # by quotes) that should identify the project.
PROJECT_NAME = SyncEvolution PROJECT_NAME = "SyncEvolution and Funambol"
# The PROJECT_NUMBER tag can be used to enter a project or revision number. # The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or # This could be handy for archiving the generated documentation or
@ -113,7 +113,7 @@ FULL_PATH_NAMES = YES
# If left blank the directory from which doxygen is run is used as the # If left blank the directory from which doxygen is run is used as the
# path to strip. # path to strip.
STRIP_FROM_PATH = STRIP_FROM_PATH = $(STRIP_FROM_PATH)
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
# the path mentioned in the documentation of a class, which tells # the path mentioned in the documentation of a class, which tells
@ -383,7 +383,7 @@ GENERATE_DEPRECATEDLIST= YES
# The ENABLED_SECTIONS tag can be used to enable conditional # The ENABLED_SECTIONS tag can be used to enable conditional
# documentation sections, marked by \if sectionname ... \endif. # documentation sections, marked by \if sectionname ... \endif.
ENABLED_SECTIONS = ENABLED_SECTIONS = API
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines # The MAX_INITIALIZER_LINES tag determines the maximum number of lines
# the initial value of a variable or define consists of for it to appear in # the initial value of a variable or define consists of for it to appear in
@ -477,7 +477,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories # directories like "/usr/src/myproject". Separate the files or directories
# with spaces. # with spaces.
INPUT = src test INPUT = src test $(CLIENT_LIBRARY)
# This tag can be used to specify the character encoding of the source files that # This tag can be used to specify the character encoding of the source files that
# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default # doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default
@ -519,7 +519,7 @@ EXCLUDE_SYMLINKS = NO
# against the file with absolute path, so to exclude all test directories # against the file with absolute path, so to exclude all test directories
# for example use the pattern */test/* # for example use the pattern */test/*
EXCLUDE_PATTERNS = **/.svn */src/client-api/* */src/core/vocl */src/client-api.build/* */src/core/boost/* EXCLUDE_PATTERNS = **/.svn */src/client-api/ */src/core/vocl */src/core/boost/* */e-cal-check-timezones.*
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the output. # (namespaces, classes, functions, etc.) that should be excluded from the output.
@ -590,7 +590,7 @@ FILTER_SOURCE_FILES = NO
# then you must also enable this option. If you don't then doxygen will produce # then you must also enable this option. If you don't then doxygen will produce
# a warning and turn it on anyway # a warning and turn it on anyway
SOURCE_BROWSER = NO SOURCE_BROWSER = YES
# Setting the INLINE_SOURCES tag to YES will include the body # Setting the INLINE_SOURCES tag to YES will include the body
# of functions and classes directly in the documentation. # of functions and classes directly in the documentation.
@ -601,7 +601,7 @@ INLINE_SOURCES = NO
# doxygen to hide any special comment blocks from generated source code # doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible. # fragments. Normal C and C++ comments will always remain visible.
STRIP_CODE_COMMENTS = YES STRIP_CODE_COMMENTS = NO
# If the REFERENCED_BY_RELATION tag is set to YES (the default) # If the REFERENCED_BY_RELATION tag is set to YES (the default)
# then for each documented function all documented # then for each documented function all documented

View File

@ -80,12 +80,17 @@ doc-pak : README NEWS COPYING
description-pak : description description-pak : description
cp $< $@ cp $< $@
# Build "html" inside the build dir, using source files
# from the SyncEvolution source directory and (if built)
# the installed client-api.build directory.
.PHONY: doc clean-html .PHONY: doc clean-html
doc: doc:
rm -rf html rm -rf html
export VERSION=$(VERSION); \ export VERSION="SyncEvolution $(VERSION)"; \
export OUTPUT_DIRECTORY="`pwd`"; \ export OUTPUT_DIRECTORY="`pwd`"; \
export PREDEFINED="@BACKEND_DEFINES@"; \ export PREDEFINED="@BACKEND_DEFINES@ ENABLE_UNIT_TESTS ENABLE_INTEGRATION_TESTS"; \
export CLIENT_LIBRARY="@FUNAMBOL_SUBDIR@/test @FUNAMBOL_SUBDIR@/include "; \
export STRIP_FROM_PATH="$(srcdir) `dirname @FUNAMBOL_SUBDIR@`"; \
cd $(srcdir); doxygen cd $(srcdir); doxygen
clean-local: clean-html clean-local: clean-html
clean-html: clean-html:

19
src/README.h Normal file
View File

@ -0,0 +1,19 @@
/**
* @mainpage Getting Started
*
* This documentation for SyncEvolution and the Funambol C++ Client
* API was generated automatically from the source code.
*
* While most of the classes in SyncEvolution are documented, very
* little effort was spent on organizing this information in a coherent
* way. If you are a developer who wants to write a SyncML client based
* on the SyncEvolution framework, then you should have a look at
* the following classes:
* - TrackingSyncSource
* - EvolutionSyncSource
* - RegisterSyncSource
*
* The following classes help with testing your derived classes:
* - RegisterSyncSourceTest
* - ClientTest
*/

View File

@ -271,13 +271,13 @@ class TestRegistry : public vector<const RegisterSyncSourceTest *>
* SyncEvolution accesses all sources through this interface. This * SyncEvolution accesses all sources through this interface. This
* class also implements common functionality for all SyncSources: * class also implements common functionality for all SyncSources:
* - handling of change IDs and URI * - handling of change IDs and URI
* - finding the calender/contact backend * - finding the calender/contact backend (only for Evolution)
* - default implementation of SyncSource interface * - default implementation of SyncSource interface
* *
* The default interface assumes that the backend's * The default interface assumes that the backend's
* open() already finds all items as well as new/modified/deleted * beginSyncThrow() finds all items as well as new/modified/deleted
* ones and stores their UIDs in the respective lists. * ones and stores their UIDs in the respective lists.
* Then the SyncItem iterators just walk through these lists, * Then the Items iterators just walk through these lists,
* creating new items via createItem(). * creating new items via createItem().
* *
* Error reporting is done via the Log class and this instance * Error reporting is done via the Log class and this instance

View File

@ -32,6 +32,11 @@
#include <set> #include <set>
using namespace std; using namespace std;
/**
* @defgroup ConfigHandling Configuration Handling
* @{
*/
class EvolutionSyncSourceConfig; class EvolutionSyncSourceConfig;
class PersistentEvolutionSyncSourceConfig; class PersistentEvolutionSyncSourceConfig;
class ConfigTree; class ConfigTree;
@ -608,14 +613,13 @@ class EvolutionSyncConfig : public AbstractSyncConfig {
const set<string> *sourceFilter); const set<string> *sourceFilter);
/** /**
* @defgroup SyncEvolutionSettings * @name Settings specific to SyncEvolution
* *
* See etc/syncml-config.txt and the property definitions in * See the property definitions in SyncEvolutionConfig.cpp
* SyncEvolutionConfig.cpp for the user-visible explanations of * for the user-visible explanations of
* these settings. * these settings.
*
* @{
*/ */
/**@{*/
virtual const char *getLogDir() const; virtual const char *getLogDir() const;
virtual void setLogDir(const string &value, bool temporarily = false); virtual void setLogDir(const string &value, bool temporarily = false);
@ -629,29 +633,17 @@ class EvolutionSyncConfig : public AbstractSyncConfig {
/**@}*/ /**@}*/
/** /**
* @defgroup AbstractSyncConfig * @name Settings inherited from Funambol
* *
* These settings are required by the Funambol C++ client library. * These settings are required by the Funambol C++ client library.
* Some of them are hard-coded in this class. A derived class could * Some of them are hard-coded in this class. A derived class could
* make them configurable again, should that be desired. * make them configurable again, should that be desired.
*
* @{
*/ */
/**@{*/
/**
* @defgroup ActiveSyncSources
*
* This group of calls grants access to all active sources. In
* SyncEvolution the EvolutionSyncClient class decides which
* sources are active and thus fully configured and reimplements
* these calls.
*
* @{
*/
virtual AbstractSyncSourceConfig* getAbstractSyncSourceConfig(const char* name) const { return NULL; } virtual AbstractSyncSourceConfig* getAbstractSyncSourceConfig(const char* name) const { return NULL; }
virtual AbstractSyncSourceConfig* getAbstractSyncSourceConfig(unsigned int i) const { return NULL; } virtual AbstractSyncSourceConfig* getAbstractSyncSourceConfig(unsigned int i) const { return NULL; }
virtual unsigned int getAbstractSyncSourceConfigsCount() const { return 0; } virtual unsigned int getAbstractSyncSourceConfigsCount() const { return 0; }
/**@}*/
virtual const char* getUsername() const; virtual const char* getUsername() const;
virtual void setUsername(const string &value, bool temporarily = false); virtual void setUsername(const string &value, bool temporarily = false);
@ -824,10 +816,10 @@ class EvolutionSyncSourceConfig : public AbstractSyncSourceConfig {
bool exists() const { return m_nodes.m_configNode->exists(); } bool exists() const { return m_nodes.m_configNode->exists(); }
/** /**
* @defgroup EvolutionSyncSourceConfigExtensions * @name Settings specific to SyncEvolution SyncSources
*
* @{
*/ */
/**@{*/
virtual const char *getUser() const; virtual const char *getUser() const;
virtual void setUser(const string &value, bool temporarily = false); virtual void setUser(const string &value, bool temporarily = false);
@ -839,7 +831,6 @@ class EvolutionSyncSourceConfig : public AbstractSyncSourceConfig {
virtual const char *getDatabaseID() const; virtual const char *getDatabaseID() const;
virtual void setDatabaseID(const string &value, bool temporarily = false); virtual void setDatabaseID(const string &value, bool temporarily = false);
/**@}*/
/** /**
* Returns the data source type configured as part of the given * Returns the data source type configured as part of the given
@ -863,15 +854,9 @@ class EvolutionSyncSourceConfig : public AbstractSyncSourceConfig {
/**@}*/ /**@}*/
/** /**
* @defgroup AbstractSyncSourceConfigAPI_not_yet_implemented * @name Calls which have to be implemented by each EvolutionSyncSource.
*
* These calls have to be implemented by EvolutionSyncSource
* instances. Some sources support more than one type. The
* configuration then selects the preferred format in
* the getSourceType() string.
*
* @{
*/ */
/**@{*/
/** /**
* Returns the preferred mime type of the items handled by the sync source. * Returns the preferred mime type of the items handled by the sync source.
@ -897,13 +882,9 @@ class EvolutionSyncSourceConfig : public AbstractSyncSourceConfig {
/**@}*/ /**@}*/
/** /**
* @defgroup AbstractSyncSourceConfigAPI_implemented * @name Calls which usually do not have to be implemented by each EvolutionSyncSource.
* @{
*/ */
virtual const char *getType() const { return getMimeType(); } /**@{*/
virtual const char *getVersion() const { return getMimeVersion(); }
virtual const char* getName() const { return m_name.c_str(); }
/**@}*/
/** /**
* Returns the SyncSource URI: used in SyncML to address the data * Returns the SyncSource URI: used in SyncML to address the data
@ -983,6 +964,15 @@ class EvolutionSyncSourceConfig : public AbstractSyncSourceConfig {
/**@}*/ /**@}*/
/**
* @name Calls implemented by SyncEvolution.
*/
/**@{*/
virtual const char *getType() const { return getMimeType(); }
virtual const char *getVersion() const { return getMimeVersion(); }
virtual const char* getName() const { return m_name.c_str(); }
/**@}*/
private: private:
string m_name; string m_name;
SyncSourceNodes m_nodes; SyncSourceNodes m_nodes;
@ -1004,4 +994,6 @@ class PersistentEvolutionSyncSourceConfig : public EvolutionSyncSourceConfig {
virtual const char* getSupportedTypes() const { return ""; } virtual const char* getSupportedTypes() const { return ""; }
}; };
/**@}*/
#endif #endif