From 880e7ffe185e5b410ee6183c4ce355a8a204ab28 Mon Sep 17 00:00:00 2001 From: Guy Sagnes Date: Tue, 25 Feb 2014 10:32:29 +0100 Subject: Added version 1.0.1 12.12.2013 * add missing licenses information / update after review feedback 20131212 - J.Kowalski 03.12.2013 * Persistence Common Object - OIP BL 0.9.130 08.08.2013 * Add instrumentation for debug purposes (low level db access) 18.06.2013 * persistence-common version 1.0.1 - Add makefile to allow creation of auto-generated code - Default error handler causes the termination of the calling process - de-central build of the common part 02.05.2013 * initial version of the common persistence libraries Change-Id: I6ac6b7f1fe453537835ac32f664c04d537d732db Signed-off-by: Guy Sagnes --- inc/protected/persComDataOrg.h | 265 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 inc/protected/persComDataOrg.h (limited to 'inc/protected/persComDataOrg.h') diff --git a/inc/protected/persComDataOrg.h b/inc/protected/persComDataOrg.h new file mode 100644 index 0000000..0c9a4bb --- /dev/null +++ b/inc/protected/persComDataOrg.h @@ -0,0 +1,265 @@ +#ifndef OSS_PERSISTENCE_COMMON_DATA_ORGANIZATION_H +#define OSS_PERSISTENCE_COMMON_DATA_ORGANIZATION_H + +/********************************************************************************************************************** +* +* Copyright (C) 2012 Continental Automotive Systems, Inc. +* +* Author: Ionut.Ieremie@continental-corporation.com +* +* Interface: protected - specifies the organization of Genivi's persistence data +* +* The file defines contains the defines according to +* https://collab.genivi.org/wiki/display/genivi/SysInfraEGPersistenceConceptInterface +* +* This Source Code Form is subject to the terms of the Mozilla Public +* License, v. 2.0. If a copy of the MPL was not distributed with this +* file, You can obtain one at http://mozilla.org/MPL/2.0/. +* +* Date Author Reason +* 2013.03.21 uidl9757 3.1.0.0 CSP_WZ#2798: Updates according to changes in data organization +* 2013.01.23 uidl9757 3.0.0.0 CSP_WZ#2060: CoC_SSW:Persistence: common interface to be used by both PCL and PAS +* +**********************************************************************************************************************/ + +/** \defgroup PERS_COM_DATA_ORG Data organization API + * \{ + */ + +#ifdef __cplusplus +extern "C" +{ +#endif /** #ifdef __cplusplus */ + +/** \defgroup PERS_DATA_ORG_IF_VERSION Interface version + * \{ + */ +#define PERS_COM_DATA_ORG_INTERFACE_VERSION (0x03010000U) +/** \} */ + +/** \defgroup PERS_ORG_DEFINES Max path length + * \{ + */ +/** max path length when accessing a file (absolute path + filename) */ +#define PERS_ORG_MAX_LENGTH_PATH_FILENAME 255 +/** \} */ + +/** \defgroup PERS_ORG_DATABASE_NAMES Databases' names + * \{ + */ + +/** resource configuration table name */ +#define PERS_ORG_RCT_NAME "resource-table-cfg.itz" +#define PERS_ORG_RCT_NAME_ "/"PERS_ORG_RCT_NAME +extern const char* gResTableCfg; /**< PERS_ORG_RCT_NAME_ */ + +/** local factory-default database */ +#define PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME "default-data.itz" +#define PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_ "/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME +extern const char* gLocalFactoryDefault; /**< PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_ */ + +/** local configurable-default database */ +#define PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME "configurable-default-data.itz" +#define PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_ "/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME +extern const char* gLocalConfigurableDefault; /**< PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_ */ + + +/** shared cached default database */ +#define PERS_ORG_SHARED_CACHE_DEFAULT_DB_NAME "cached-default.itz" +#define PERS_ORG_SHARED_CACHE_DEFAULT_DB_NAME_ "/"PERS_ORG_SHARED_CACHE_DEFAULT_DB_NAME +extern const char* gSharedCachedDefault; /**< PERS_ORG_SHARED_CACHE_DEFAULT_DB_NAME_ */ + + +/** shared cached database */ +#define PERS_ORG_SHARED_CACHE_DB_NAME "cached.itz" +#define PERS_ORG_SHARED_CACHE_DB_NAME_ "/"PERS_ORG_SHARED_CACHE_DB_NAME +extern const char* gSharedCached; /**< PERS_ORG_SHARED_CACHE_DB_NAME_ */ + + +/** shared write through default database */ +#define PERS_ORG_SHARED_WT_DEFAULT_DB_NAME "wt-default.itz" +#define PERS_ORG_SHARED_WT_DEFAULT_DB_NAME_ "/"PERS_ORG_SHARED_WT_DEFAULT_DB_NAME +extern const char* gSharedWtDefault; /**< PERS_ORG_SHARED_WT_DEFAULT_DB_NAME_ */ + + +/** shared write through database */ +#define PERS_ORG_SHARED_WT_DB_NAME "wt.itz" +#define PERS_ORG_SHARED_WT_DB_NAME_ "/"PERS_ORG_SHARED_WT_DB_NAME +extern const char* gSharedWt; /**< PERS_ORG_SHARED_WT_DB_NAME_ */ + + +/** local cached default database */ +#define PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME "cached-default.itz" +#define PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_ "/" PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME +extern const char* gLocalCachedDefault; /**< PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_ */ + + +/** local cached database */ +#define PERS_ORG_LOCAL_CACHE_DB_NAME "cached.itz" +#define PERS_ORG_LOCAL_CACHE_DB_NAME_ "/"PERS_ORG_LOCAL_CACHE_DB_NAME +extern const char* gLocalCached; /**< PERS_ORG_LOCAL_CACHE_DB_NAME_ */ + + +/** local write through default database */ +#define PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME "wt-default.itz" +#define PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_ "/"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME +extern const char* gLocalWtDefault; /**< PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_ */ + +/** local write through default database */ +#define PERS_ORG_LOCAL_WT_DB_NAME "wt.itz" +#define PERS_ORG_LOCAL_WT_DB_NAME_ "/" PERS_ORG_LOCAL_WT_DB_NAME +extern const char* gLocalWt; /**< PERS_ORG_LOCAL_WT_DB_NAME_ */ + +/** \} */ + + +/** \defgroup PERS_ORG_FOLDER_NAMES Folders' names + * \{ + */ + +/** directory structure node name definition */ +#define PERS_ORG_NODE_FOLDER_NAME "node" +#define PERS_ORG_NODE_FOLDER_NAME_ "/" PERS_ORG_NODE_FOLDER_NAME +extern const char* gNode; /**< PERS_ORG_NODE_FOLDER_NAME_ */ + + +/** directory structure user name definition */ +#define PERS_ORG_USER_FOLDER_NAME "user" +#define PERS_ORG_USER_FOLDER_NAME_ "/"PERS_ORG_USER_FOLDER_NAME "/" +extern const char* gUser; /**< PERS_ORG_USER_FOLDER_NAME_ */ + + +/** directory structure seat name definition */ +#define PERS_ORG_SEAT_FOLDER_NAME "seat" +#define PERS_ORG_SEAT_FOLDER_NAME_ "/"PERS_ORG_SEAT_FOLDER_NAME "/" +extern const char* gSeat; /**< PERS_ORG_SEAT_FOLDER_NAME_ */ + +/** directory structure shared name definition */ +#define PERS_ORG_SHARED_FOLDER_NAME "shared" +#define PERS_ORG_SHARED_FOLDER_NAME_ "/"PERS_ORG_SHARED_FOLDER_NAME +extern const char* gSharedPathName; /**< PERS_ORG_SHARED_FOLDER_NAME */ + +/** directory structure group name definition */ +#define PERS_ORG_GROUP_FOLDER_NAME "group" +#define PERS_ORG_GROUP_FOLDER_NAME_ "/"PERS_ORG_GROUP_FOLDER_NAME + +/** directory structure public name definition */ +#define PERS_ORG_PUBLIC_FOLDER_NAME "public" +#define PERS_ORG_PUBLIC_FOLDER_NAME_ "/"PERS_ORG_PUBLIC_FOLDER_NAME + +/** directory structure defaultData name definition */ +#define PERS_ORG_DEFAULT_DATA_FOLDER_NAME "defaultData" +#define PERS_ORG_DEFAULT_DATA_FOLDER_NAME_ "/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME + +/** directory structure configurableDefaultData name definition */ +#define PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME "configurableDefaultData" +#define PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_ "/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME + + +/** directory structure cached name definition */ +#define PERS_ORG_CACHE_FOLDER_NAME "mnt-c" +#define PERS_ORG_CACHE_FOLDER_NAME_ "/"PERS_ORG_CACHE_FOLDER_NAME +/** directory structure write-through name definition */ +#define PERS_ORG_WT_FOLDER_NAME "mnt-wt" +#define PERS_ORG_WT_FOLDER_NAME_ "/"PERS_ORG_WT_FOLDER_NAME + + +/** path prefix for all data: /Data */ +#define PERS_ORG_ROOT_PATH "/Data" +extern const char* gRootPath; /**< PERS_ORG_ROOT_PATH */ + +/** \} */ + + +/** \defgroup PERS_ORG_PATHS Paths + * \{ + */ + +/** cache root path application: /Data/mnt-c */ +#define PERS_ORG_LOCAL_APP_CACHE_PATH PERS_ORG_ROOT_PATH PERS_ORG_CACHE_FOLDER_NAME_ +#define PERS_ORG_LOCAL_APP_CACHE_PATH_ PERS_ORG_LOCAL_APP_CACHE_PATH"/" +/** wt root path application: /Data/mnt-wt */ +#define PERS_ORG_LOCAL_APP_WT_PATH PERS_ORG_ROOT_PATH PERS_ORG_WT_FOLDER_NAME_ +#define PERS_ORG_LOCAL_APP_WT_PATH_ PERS_ORG_LOCAL_APP_WT_PATH"/" + +/** cache root path shared: /Data/mnt-c/shared */ +#define PERS_ORG_SHARED_CACHE_PATH PERS_ORG_ROOT_PATH PERS_ORG_CACHE_FOLDER_NAME_ PERS_ORG_SHARED_FOLDER_NAME_ +#define PERS_ORG_SHARED_CACHE_PATH_ PERS_ORG_SHARED_CACHE_PATH"/" +/** wt root path shared: /Data/mnt-wt/shared */ +#define PERS_ORG_SHARED_WT_PATH PERS_ORG_ROOT_PATH PERS_ORG_WT_FOLDER_NAME_ PERS_ORG_SHARED_FOLDER_NAME_ +#define PERS_ORG_SHARED_WT_PATH_ PERS_ORG_SHARED_WT_PATH"/" + +/** cache root path shared group: /Data/mnt-c/shared/group */ +#define PERS_ORG_SHARED_GROUP_CACHE_PATH PERS_ORG_SHARED_CACHE_PATH PERS_ORG_GROUP_FOLDER_NAME_ +#define PERS_ORG_SHARED_GROUP_CACHE_PATH_ PERS_ORG_SHARED_GROUP_CACHE_PATH"/" +/** wt root path application: /Data/mnt-wt/shared/group */ +#define PERS_ORG_SHARED_GROUP_WT_PATH PERS_ORG_SHARED_WT_PATH PERS_ORG_GROUP_FOLDER_NAME_ +#define PERS_ORG_SHARED_GROUP_WT_PATH_ PERS_ORG_SHARED_GROUP_WT_PATH"/" + +/** cache root path shared public: /Data/mnt-c/shared/public */ +#define PERS_ORG_SHARED_PUBLIC_CACHE_PATH PERS_ORG_SHARED_CACHE_PATH PERS_ORG_PUBLIC_FOLDER_NAME_ +#define PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/" +/** wt root path application: /Data/mnt-wt/shared/public */ +#define PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_SHARED_WT_PATH PERS_ORG_PUBLIC_FOLDER_NAME_ +#define PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_PUBLIC_WT_PATH"/" + +/** path prefix for local cached database: /Data/mnt-c/\/\ */ +#define PERS_ORG_LOCAL_CACHE_PATH_FORMAT PERS_ORG_LOCAL_APP_CACHE_PATH"/%s%s" +extern const char* gLocalCachePath; /**< PERS_ORG_LOCAL_CACHE_PATH_FORMAT */ + +/** path prefix for local write through database /Data/mnt-wt/\/\ */ +#define PERS_ORG_LOCAL_WT_PATH_FORMAT PERS_ORG_LOCAL_APP_WT_PATH "/%s%s" +extern const char* gLocalWtPath; /**< PERS_ORG_LOCAL_WT_PATH_FORMAT */ + +/** path prefix for shared cached database: /Data/mnt-c/shared/group/ */ +extern const char* gSharedCachePathRoot; /**< PERS_ORG_SHARED_GROUP_CACHE_PATH_ */ + +/** path format for shared cached database: /Data/mnt-c/shared/group/\/\ */ +#define PERS_ORG_SHARED_CACHE_PATH_FORMAT PERS_ORG_SHARED_GROUP_CACHE_PATH_"%x%s" +extern const char* gSharedCachePath; /**< PERS_ORG_SHARED_CACHE_PATH_FORMAT */ + +/** path prefix for shared cached database: /Data/mnt-c/shared/group/\/\ */ +#define PERS_ORG_SHARED_CACHE_PATH_STRING_FORMAT PERS_ORG_SHARED_GROUP_CACHE_PATH_"%s%s" +extern const char* gSharedCachePathString; /**< PERS_ORG_SHARED_CACHE_PATH_STRING_FORMAT */ + +/** path prefix for shared write through database: /Data/mnt-wt/shared/group/ */ +extern const char* gSharedWtPathRoot; /**< PERS_ORG_SHARED_GROUP_WT_PATH_ */ + +/** path prefix for shared write through database: /Data/mnt_wt/Shared/Group/\/\ */ +#define PERS_ORG_SHARED_WT_PATH_FORMAT PERS_ORG_SHARED_GROUP_WT_PATH_"%x%s" +extern const char* gSharedWtPath ; /**< PERS_ORG_SHARED_WT_PATH_FORMAT */ + +/** path prefix for shared write through database: /Data/mnt-wt/shared/group/\/\ */ +#define PERS_ORG_SHARED_WT_PATH_STRING_FORMAT PERS_ORG_SHARED_GROUP_WT_PATH_"%s%s" +extern const char* gSharedWtPathString; /**< PERS_ORG_SHARED_WT_PATH_STRING_FORMAT */ + +/** path prefix for shared public cached database: /Data/mnt-c/shared/public/\ */ +#define PERS_ORG_SHARED_PUBLIC_CACHE_PATH_FORMAT PERS_ORG_SHARED_PUBLIC_CACHE_PATH"%s" +extern const char* gSharedPublicCachePath; /**< PERS_ORG_SHARED_PUBLIC_CACHE_PATH_FORMAT */ + +/** path prefix for shared public write through database: /Data/mnt-wt/shared/public/\ */ +#define PERS_ORG_SHARED_PUBLIC_WT_PATH_FORMAT PERS_ORG_SHARED_PUBLIC_WT_PATH"%s" +extern const char* gSharedPublicWtPath; /**< PERS_ORG_SHARED_PUBLIC_WT_PATH_FORMAT */ + +/** \} */ + + + +/** \defgroup PERS_ORG_LINKS_NAMES Links' names + * \{ + */ + +/** symlinks to shared group folder have the format "shared_group_XX", e.g. "shared_group_0A" */ +#define PERS_ORG_SHARED_GROUP_SYMLINK_PREFIX "shared_group_" + +/** symlinks to shared public folder */ +#define PERS_ORG_SHARED_PUBLIC_SYMLINK_NAME "shared_public" + +/** \} */ + +#ifdef __cplusplus +} +#endif /** extern "C" { */ + +/** \} */ /** End of PERS_COM_DATA_ORG */ +#endif /** OSS_PERSISTENCE_COMMON_DATA_ORGANIZATION_H */ -- cgit v1.2.1