DtvKit_ATSC3.0
Loading...
Searching...
No Matches
atsc_core_service.h
Go to the documentation of this file.
1/*******************************************************************************
2 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3 *
4 * This file is part of a DTVKit Software Component
5 * You are permitted to copy, modify or distribute this file subject to the terms
6 * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
7 *
8 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
9 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
10 * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
11 *
12 * If you or your organisation is not a member of DTVKit then you have access
13 * to this source code outside of the terms of the licence agreement
14 * and you are expected to delete this and any associated files immediately.
15 * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
16 *******************************************************************************/
17
18#pragma once
19#include <pthread.h>
20#include <mutex>
21
22#include "atsc_types.h"
23#include "atsc_core_atsc1.h"
24#include "atsc_core_atsc3_lls.h"
27#include "atsc_core_utils_database.h"
28#include "atsc_core_utils_dump_api.h"
31#include "atsc_mw_av_control.h"
32
41public:
56
57
64 int32_t ProcessAlpData(int32_t iCh, uint8_t *pData, uint32_t iDataLen);
65
66
74
81 int32_t ProcessLLS(uint32_t iCh, uint8_t* pData, int32_t data_length);
82
89 void StartOtherService( void );
90
97 std::string GetGuideServiceInfo(char *sUri);
98
105 std::string GetSystemTime( void );
106
113 std::string GetOnScreenMsgNotify( void );
114
122
129 bool DataBaseSelect(int32_t iType, char *pParam1);
130
137 bool DataBaseDelete(int32_t iType, char *pParam1);
138
145 std::list<sDownloadFileInfo_t> GetDataBaseFileInfo( void );
146
153 size_t GetDataBaseHeldMsgSz( void );
154
161 size_t GetDataBaseFileInfoSz( void );
162
169 std::list<sHeldMsgProperties_t> GetDataBaseHeldMsgInfo( void );
170
177 bool UpdateDataBase(int32_t iType, void *pParam1, void*pParam2);
178
185 void GetUserServiceInfo( int32_t iServiceId , int32_t iPhyCh , int32_t iMajorCh , int32_t iMinorCh );
186
187 std::map<int32_t, std::map<int32_t, sParser_t>> mServices;
188 std::map<std::string, sSubscribeDevice_t> mSubscribe;
191 CDatabase mDatabase;
192 CDump mDumpApi;
196private:
197
198 CLowLevelSignaling *mLLSService;
199 CServiceGuide *mGuideService;
201 bool mRunning;
202 bool mSubscribeEvent;
204 sNetworkInfo_t mNetwork;
206 std::thread *mStatusThread=nullptr;
207 std::thread *mSubscribeThread=nullptr;
208 std::queue <sDownloadFileInfo_t> mDownloadMsg;
209 std::queue <sServiceProperties_t> mEsgRemoveMsg;
210 std::queue <sSubscribeDevice_t> mSubscribeMsg;
211 std::queue <sHeldElement_t> mHeldMsg;
219 void CallbackRouteComponent(int32_t iSvcid, sRouteComponent_t *pComponent);
220
227 void CallbackAppSignaling(int32_t type, void *info, const char* xml);
228
235 void CallbackDownloadCompleted(sDownloadFileInfo_t stInfo);
236
243 int32_t CreateService(int32_t iCh, sServiceListTable_t stSlt);
244
251 void ThreadStatus(void);
252
259 void GetSubscribeList(void);
260
267 void ThreadSubscribe(void);
268
275 void CallbackTvct(int32_t iId, int32_t iCh, sMpeg2Tvct_t sTvct);
276};
Definition atsc_mw_av_control.h:64
Definition atsc_core_service.h:40
sRrtDataTable_t GetRrt(void)
To get the rating regional information.
CDemodSender mDemodSender
Definition atsc_core_service.h:193
void GetUserServiceInfo(int32_t iServiceId, int32_t iPhyCh, int32_t iMajorCh, int32_t iMinorCh)
Get the user selected service information.
CDump mDumpApi
Definition atsc_core_service.h:192
void StartOtherService(void)
Start other functionalities such ATSC1.
std::map< int32_t, std::map< int32_t, sParser_t > > mServices
Definition atsc_core_service.h:187
bool DataBaseSelect(int32_t iType, char *pParam1)
To select the database based on MsgType.
std::list< sHeldMsgProperties_t > GetDataBaseHeldMsgInfo(void)
To Get the held file information.
int32_t ProcessLLS(uint32_t iCh, uint8_t *pData, int32_t data_length)
Process LLS data.
size_t GetDataBaseFileInfoSz(void)
To Get the download file size.
bool UpdateDataBase(int32_t iType, void *pParam1, void *pParam2)
To update the data.
std::string GetOnScreenMsgNotify(void)
To get the on-screen message notification.
int32_t ProcessAlpData(int32_t iCh, uint8_t *pData, uint32_t iDataLen)
Parse ALP data.
std::list< sDownloadFileInfo_t > GetDataBaseFileInfo(void)
To Get the download file information.
~CCoreService()
Destructor for CCoreService.
std::string GetGuideServiceInfo(char *sUri)
To make Service Guide in xml format and get the AEAT info.
sServiceListTable_t GetSltServiceData(void)
Get slt data.
std::map< std::string, sSubscribeDevice_t > mSubscribe
Definition atsc_core_service.h:188
size_t GetDataBaseHeldMsgSz(void)
To Get the held msg size.
sUserServiceInfo_t sUserServiceInfo
Definition atsc_core_service.h:195
CDatabase mDatabase
Definition atsc_core_service.h:191
std::string GetSystemTime(void)
To get read system time.
bool DataBaseDelete(int32_t iType, char *pParam1)
To Delete the database based on MsgType.
CAvCtrl * mAvCtrl
Definition atsc_core_service.h:190
CTs2Hls mTs2Hls
Definition atsc_core_service.h:194
CCoreService()
Constructor of CCoreService.
Definition atsc_core_streamer_demodsender.h:67
Definition atsc_core_atsc3_lls.h:66
Definition atsc_core_common_serviceguide.h:36
Definition atsc_core_streamer_ts2hlsmaker.h:56
Definition atsc_core_atsc3_signaling_types.h:290
Definition atsc_types.h:358
Definition atsc_types.h:422
Definition atsc_core_atsc3_signaling_types.h:312
Definition atsc_types.h:507
Definition atsc_types.h:651
Definition atsc_types.h:663