summaryrefslogtreecommitdiffstats
path: root/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.5.0.bb
blob: 7bc619072f8837800ba383cc75eab068c54d0635 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
SUMMARY = "Wayland IVI Extension"
DESCRIPTION = "GENIVI Layer Management API based on Wayland IVI Extension"
HOMEPAGE = "http://projects.genivi.org/wayland-ivi-extension"
BUGTRACKER = "http://bugs.genivi.org/enter_bug.cgi?product=Wayland%20IVI%20Extension"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=176cedb32f48dd58f07e0c1c717b3ea4"

DEPENDS = "weston"

SRC_URI = "git://git.projects.genivi.org/${PN}.git \
           file://apply_weston-1.5.x.patch \
          "
SRC_URI_append_wandboard = "file://wandboard_fix_build.patch"

SRCREV = "8f0874b606b8e2a9385af947728905735bad3939"

S = "${WORKDIR}/git"

inherit cmake autotools

FILES_${PN} += "${libdir}/weston/*"
FILES_${PN}-dbg += "${libdir}/weston/.debug/*"
an class="cp">#include "mns_obs.h" #ifdef __cplusplus extern "C" { #endif /*------------------------------------------------------------------------------------------------*/ /* Type definitions */ /*------------------------------------------------------------------------------------------------*/ /*! \brief Bitmask used to store locked API methods */ typedef uint32_t Alm_ModuleMask_t; /*------------------------------------------------------------------------------------------------*/ /* Structures */ /*------------------------------------------------------------------------------------------------*/ /*! \brief Class structure of the API locking manager */ typedef struct CApiLockingManager_ { CTimerManagement *tm_ptr; /*!< \brief Reference to timer management instance */ CEventHandler *eh_ptr; /*!< \brief Reference to event handler instance */ CTimer garbage_collector; /*!< \brief Timer for garbage collection */ CDlList api_list; /*!< \brief List of registered APIs */ uint8_t mns_inst_id; /*!< \brief MOST NetServices instance ID */ CMaskedObserver internal_error_obs; /*!< \brief Error observer to handle internal errors and events */ } CApiLockingManager; /*! \brief Class structure of the API locking */ typedef struct CApiLocking_ { CDlNode node; /*!< \brief Node of the doubly linked (API-) list */ CApiLockingManager *alm_ptr; /*!< \brief Reference to CApiLockingManager instance */ Alm_ModuleMask_t method_mask; /*!< \brief Bitmask which holds locked API methods */ Alm_ModuleMask_t timeout_mask; /*!< \brief Bitmask to report timeouts */ CSingleSubject subject; /*!< \brief Subject to update registered observer */ uint8_t mns_inst_id; /*!< \brief MOST NetServices instance ID */ } CApiLocking; /*------------------------------------------------------------------------------------------------*/ /* Prototypes of class CApiLockingManager */ /*------------------------------------------------------------------------------------------------*/ extern void Alm_Ctor(CApiLockingManager *self, CTimerManagement *tm_ptr, CEventHandler *eh_ptr, uint8_t mns_inst_id); extern void Alm_RegisterApi(CApiLockingManager *self, CApiLocking *al_ptr); /*------------------------------------------------------------------------------------------------*/ /* Prototypes of class CApiLocking */ /*------------------------------------------------------------------------------------------------*/ extern void Al_Ctor(CApiLocking *self, CSingleObserver *obs_ptr, uint8_t mns_inst_id); extern bool Al_Lock(CApiLocking *self, Alm_ModuleMask_t method); extern void Al_Release(CApiLocking *self, Alm_ModuleMask_t method); #ifdef __cplusplus } /* extern "C" */ #endif #endif /* #ifndef MNS_ALM_H */ /*! * @} * \endcond */ /*------------------------------------------------------------------------------------------------*/ /* End of file */ /*------------------------------------------------------------------------------------------------*/