DtvKit_ATSC3.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
atsc_mw.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#ifndef ATSC_MW_H
19#define ATSC_MW_H
20
21#include <thread>
22#include <iostream>
23#include <list>
24using namespace std;
25#include <inttypes.h>
26#include <stdio.h>
27#include <sys/socket.h>
28
29#include <atsc_types.h>
30
39class CAtscMw{
40public:
41
42 std::thread *mServerThread=nullptr;
43 bool mRunning;
52
60
67 int32_t GetSupportedStandards(void);
68
76
84
92
100
108
116 eATSCResult_t TuneToChannel(int32_t iId,int32_t iCh,int32_t iPlp,
117 eDemod_t iDemod,eRegion_t iRegion);
118
125 eATSCResult_t TuneToChannel( int32_t iId, int32_t iCh,int32_t iPlp);
126
135 eATSCResult_t ScanChannels(int32_t iTunerId, int32_t iStartCh,
136 int32_t iEndCh, int32_t iDemod , int32_t iPlpId);
137
145 eATSCResult_t ScanChannels(int32_t iId, int32_t iStartCh,
146 int32_t iEndCh,int32_t iPlp,
147 eDemod_t iDemod,eRegion_t iRegion);
155
163
171
179
180
188
189
197
205
213
220 std::string GetSystemTime( void );
221
229
236 void RegisterOnsnMsgEventNotify(OnScreenNotify fParamsPtr);
237
244 std::string GetMwGuideInfo(char *pUri);
245
252 std::string GetMwTunerInfo(sFeStatus_t *pStatus,int32_t iTunerId);
253
260 std::string GetMwTunersInfo( void );
261
268 std::string GetQueryHttpResponse( std::string sContentData );
269
276 std::string GetVersion(char *pFwVersion);
277
284 std::string GetMwPrepareTunerInfo(void);
285
292 std::string GetDumpHistory(void);
293
300 std::string RequestService(std::string sUri, char *pContentData);
301
308 std::string RequestDump(std::string sUri, int32_t iType);
309
316 std::string RequestTuners(std::string sUri, char *pContentData );
317
318 std::string RequestUserService(std::string sUri, char *pContentData );
319
326 std::string RequestScan(std::string sUri, char *pContentData );
327
334 std::list<sScanResult_t> GetScanningResult( void );
335
342 void CancelChannelScan( void );
343
350 int32_t Start(int32_t iPort);
351
358 void ThreadServer(void *pArg, int32_t iPort);
359
367 void Connection(int32_t iClientSock, struct sockaddr_in *pClientAddr, socklen_t stClientAddrLen);
368
375 int32_t ParserHttpProtocol(eHttpType_t eHttpType, int32_t iSock, sHttpHeader_t stHttpHeader);
376
383 std::string ParserHttpProtocolFromNative(int32_t iTunerId , int32_t iType ,int32_t iSock, sHttpHeader_t stHttpHeader);
384
391 void Join(void);
392
399 std::string GetFrontendConfiguration( void );
400};
401#endif /* ATSC_MW_H */
402
eDemod_t
Definition atsc_types.h:215
eHttpType_t
Definition atsc_types.h:253
eRegion_t
Definition atsc_types.h:227
eATSCResult_t
Definition atsc_types.h:203
Definition atsc_mw.h:39
std::string GetSystemTime(void)
To get read system time.
eATSCResult_t RegisterFrontendParamCbEvents(FeParamsCbFunc ptrfunc)
Register frontend params callback.
eATSCResult_t StartFrontend(int32_t iId)
Start frontend functionality.
std::string GetQueryHttpResponse(std::string sContentData)
Get Http Response.
eATSCResult_t GetFrontendStatus(int32_t iId, sFeStatus_t *pStatus)
Read frontend status.
~CAtscMw()
Destructor for CAtscMw.
int32_t ParserHttpProtocol(eHttpType_t eHttpType, int32_t iSock, sHttpHeader_t stHttpHeader)
Parses and processes HTTP requests based on their type(GET, POST, PUT, DELETE).
eATSCResult_t SetRegion(eRegion_t iRegion)
Set region:Default :US.
std::string GetMwPrepareTunerInfo(void)
Tuner info string to display.
void ThreadServer(void *pArg, int32_t iPort)
For handling incoming connections and managing the server socket.
std::string RequestService(std::string sUri, char *pContentData)
Request tuner service.
std::string RequestDump(std::string sUri, int32_t iType)
Request dump info.
eATSCResult_t RegisterFrontendStatusCbEvents(FeStatusCbFunc fstatus)
Register frontend status callback.
std::string GetFrontendConfiguration(void)
Get the tuner related configuration.
int32_t GetAvailNoOfFrontendInstances(void)
returns available number of frontend instances
eDemod_t GetDemod(void)
returns current Demod ID
std::string GetMwGuideInfo(char *pUri)
Get Guide display Info.
int32_t Start(int32_t iPort)
Creates a new thread to handle server operations.
eATSCResult_t GetFrontendProps(int32_t iId, sFeProp_t *pParams)
Read frontend properties.
std::string GetDumpHistory(void)
Display dump histroy.
void Join(void)
Waits for the API server thread to finish and cleans up resources.
eRegion_t GetRegion(void)
returns current region ID
bool mRunning
Definition atsc_mw.h:43
sServiceListTable_t GetSltData(void)
Get slt data.
std::list< sScanResult_t > GetScanningResult(void)
Get the scanning result.
int32_t GetSupportedStandards(void)
read supported standards
std::string RequestScan(std::string sUri, char *pContentData)
Request Scan service.
sRrtDataTable_t GetRrt(void)
To get read system time.
void Connection(int32_t iClientSock, struct sockaddr_in *pClientAddr, socklen_t stClientAddrLen)
Handling an incoming client connection. It reads the HTTP header from the client determines the HTTP ...
std::thread * mServerThread
Definition atsc_mw.h:42
void RegisterOnsnMsgEventNotify(OnScreenNotify fParamsPtr)
Notification event for on screen message.
std::string RequestTuners(std::string sUri, char *pContentData)
Request tuner service.
std::string GetVersion(char *pFwVersion)
read version
std::string GetMwTunersInfo(void)
Get Tuner Info.
std::string GetMwTunerInfo(sFeStatus_t *pStatus, int32_t iTunerId)
Get Tuner Info.
eATSCResult_t StopFrontend(int32_t iId)
Stop frontend functionality.
std::string ParserHttpProtocolFromNative(int32_t iTunerId, int32_t iType, int32_t iSock, sHttpHeader_t stHttpHeader)
Parses and processes HTTP requests based on their type(GET, POST, PUT, DELETE) via native application...
CAtscMw()
Constructor of CAtscMw.
eATSCResult_t SetDemod(eDemod_t iDemod)
Set Demod type :Default :ATSC3.0.
void CancelChannelScan(void)
Stop the scanning process.
eATSCResult_t StopChannelScan(int32_t iId)
Stop channel scan.
Definition atsc_types.h:338
Definition atsc_types.h:302
Definition atsc_types.h:448
Definition atsc_types.h:507
Definition atsc_types.h:651