blob: 1e3ef149d9a3e4d89156c1366ac12f678d9b0e34 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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 <native_service/frameworkunified_types.h>
#include <native_service/frameworkunified_application.h>
#include <native_service/frameworkunified_framework_types.h>
#include <native_service/frameworkunified_sm_framework_if.h>
////////////////////////////////////////////////////////////////////////////////////////////
/// \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
|