X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=service%2Fsystem%2Finterface_unified%2Flibrary%2Finclude%2Fsystem_service%2Fss_system_if.h;fp=service%2Fsystem%2Finterface_unified%2Flibrary%2Finclude%2Fsystem_service%2Fss_system_if.h;h=1e3ef149d9a3e4d89156c1366ac12f678d9b0e34;hb=17cf21bcf8a2e29d2cbcf0a313474d2a4ee44f5d;hp=0000000000000000000000000000000000000000;hpb=9e86046cdb356913ae026f616e5bf17f6f238aa5;p=staging%2Fbasesystem.git diff --git a/service/system/interface_unified/library/include/system_service/ss_system_if.h b/service/system/interface_unified/library/include/system_service/ss_system_if.h new file mode 100755 index 0000000..1e3ef14 --- /dev/null +++ b/service/system/interface_unified/library/include/system_service/ss_system_if.h @@ -0,0 +1,119 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file ss_system_if.h + * @brief \~english This file contains api build the session of heartbeat observation system manager + */ +/** @addtogroup BaseSystem + * @{ + */ +/** @addtogroup system_service + * @ingroup BaseSystem + * @{ + */ +/** @addtogroup interface_unified + * @ingroup system_service + * @{ + */ +#ifndef SS_SYSTEM_IF_H_ // NOLINT (build/header_guard) +#define SS_SYSTEM_IF_H_ + +#include +#include +#include +#include + +//////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup system_manager +/// \~english @par Summary: +/// Establish SystemManger and HeartBeat monitoring session +/// \~english @param [in] hApp +/// HANDLE - Handle for application +/// \~english @retval eFrameworkunifiedStatusOK Success +/// \~english @retval eFrameworkunifiedStatusNullPointer Handle error +/// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue error +/// \~english @retval eFrameworkunifiedStatusErrNoEBADF File descriptor error +/// \~english @retval eFrameworkunifiedStatusErrNoEINTR System call error +/// \~english @retval eFrameworkunifiedStatusInvldBufSize Message buffer error +/// \~english @retval eFrameworkunifiedStatusErrOther Session establishment failure +/// \~english @retval eFrameworkunifiedStatusFail Message sharing memory error + +/// \~english @par Preconditions: +/// - Dispather for application is created / initialized(FrameworkunifiedCreateDispatcherWithoutLoop etc.) +/// \~english @par Change of the internal state: +/// - No change of internal state by this API occurs +/// \~english @par Causes of failures: +/// - Handle(hApp) specified in the argument is not appropriate(invalid) [eFrameworkunifiedStatusNullPointer] +/// - Management information area acquisition(malloc) failed [eFrameworkunifiedStatusNullPointer] +/// - Message queue for session for service is full [eFrameworkunifiedStatusMsgQFull] +/// - Invalid file descriptor for sending session messages for service [eFrameworkunifiedStatusErrNoEBADF] +/// - System call(signal) interrupt occurs +/// while sending a session message for a service [eFrameworkunifiedStatusErrNoEINTR] +/// - The size of the message transmission buffer for service is incorrect [eFrameworkunifiedStatusInvldBufSize] +/// - Some error occurred when sending session message for service [eFrameworkunifiedStatusFail] +/// - Failed to access shared memory for sending session messages for service [eFrameworkunifiedStatusErrOther] +/// \~english @par Detail: +/// Establish HeartBeat monitoring and SystemManager session.\n +/// +/// \~english @par Classification: +/// Public +/// \~english @see FrameworkunifiedMcOpenSender, FrameworkunifiedAttachCallbacksToDispatcher, FrameworkunifiedSendMsg +/// +//////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus FrameworkunifiedSSFrameworkInterface(HANDLE hApp); + +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(IMPL_AGL_APPLICATION_CALLBACKS_PRE_BACKGROUND) +#define FRAMEWORKUNIFIED_MAKE_DEFAULT_CALLBACK(x) \ + x.onInitilization = FrameworkunifiedOnInitialization; \ + x.onDestroy = FrameworkunifiedOnDestroy; \ + x.onStart = FrameworkunifiedOnStart; \ + x.onStop = FrameworkunifiedOnStop; \ + x.onDebugDump = FrameworkunifiedOnDebugDump; \ + x.createStateMachine = FrameworkunifiedCreateStateMachine; \ + x.ssFrameworkInterface = FrameworkunifiedSSFrameworkInterface; \ + x.onPreStart = FrameworkunifiedOnDummy; \ + x.onPreStop = FrameworkunifiedOnDummy; \ + x.onBackgroundStart = FrameworkunifiedOnDummy; \ + x.onBackgroundStop = FrameworkunifiedOnDummy; +#else +#define FRAMEWORKUNIFIED_MAKE_DEFAULT_CALLBACK(x) \ + x.onInitilization = FrameworkunifiedOnInitialization; \ + x.onDestroy = FrameworkunifiedOnDestroy; \ + x.onStart = FrameworkunifiedOnStart; \ + x.onStop = FrameworkunifiedOnStop; \ + x.onDebugDump = FrameworkunifiedOnDebugDump; \ + x.createStateMachine = FrameworkunifiedCreateStateMachine; \ + x.ssFrameworkInterface = FrameworkunifiedSSFrameworkInterface; \ + x.onPreStart = FrameworkunifiedOnPreStart; \ + x.onPreStop = FrameworkunifiedOnPreStop; \ + x.onBackgroundStart = FrameworkunifiedOnBackgroundStart; \ + x.onBackgroundStop = FrameworkunifiedOnBackgroundStop; +#endif + +#ifdef __cplusplus +} +#endif + + +#endif /* SS_SYSTEM_IF_H_ */ // NOLINT (build/header_guard) +/** @}*/ // end of interface_unified +/** @}*/ // end of system_service +/** @}*/ // end of BaseSystem