From 1c6d1a8a08d342448a166aec063be034ff1030d0 Mon Sep 17 00:00:00 2001 From: focus Date: Thu, 21 Jul 2011 10:16:03 +0000 Subject: [PATCH] Add SAME_TRANSPONDER define; Add new zapit client function git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@1565 e54a6e83-5905-42d5-8d5c-058d10e6a962 --- src/zapit/include/zapit/client/msgtypes.h | 1 + src/zapit/include/zapit/client/zapitclient.h | 1 + src/zapit/include/zapit/client/zapittypes.h | 2 ++ src/zapit/lib/zapitclient.cpp | 18 ++++++++++++++++++ 4 files changed, 22 insertions(+) diff --git a/src/zapit/include/zapit/client/msgtypes.h b/src/zapit/include/zapit/client/msgtypes.h index 4a29db35b..691457316 100644 --- a/src/zapit/include/zapit/client/msgtypes.h +++ b/src/zapit/include/zapit/client/msgtypes.h @@ -187,6 +187,7 @@ class CZapitMessages struct commandZaptoServiceID { t_channel_id channel_id; + bool record; }; struct commandSetAudioChannel diff --git a/src/zapit/include/zapit/client/zapitclient.h b/src/zapit/include/zapit/client/zapitclient.h index cc8251e98..f5818af53 100644 --- a/src/zapit/include/zapit/client/zapitclient.h +++ b/src/zapit/include/zapit/client/zapitclient.h @@ -271,6 +271,7 @@ class CZapitClient:public CBasicClient /* zaps to channel, returns the "zap-status" */ unsigned int zapTo_serviceID(const t_channel_id channel_id); + unsigned int zapTo_record(const t_channel_id channel_id); /* zaps to subservice, returns the "zap-status" */ unsigned int zapTo_subServiceID(const t_channel_id channel_id); diff --git a/src/zapit/include/zapit/client/zapittypes.h b/src/zapit/include/zapit/client/zapittypes.h index db6f3ba41..21a6b7175 100644 --- a/src/zapit/include/zapit/client/zapittypes.h +++ b/src/zapit/include/zapit/client/zapittypes.h @@ -64,6 +64,8 @@ typedef uint64_t t_channel_id; #define CREATE_CHANNEL_ID64 (((uint64_t)(satellitePosition+freq*4) << 48) | ((uint64_t) transport_stream_id << 32) | ((uint64_t)original_network_id << 16) | (uint64_t)service_id) //#define CREATE_CHANNEL_ID64 CREATE_CHANNEL_ID_FROM_64(satellitePosition, service_id, original_network_id, transport_stream_id) +#define SAME_TRANSPONDER(id1, id2) ((id1 >> 16) == (id2 >> 16)) + /* diseqc types */ typedef enum { NO_DISEQC, diff --git a/src/zapit/lib/zapitclient.cpp b/src/zapit/lib/zapitclient.cpp index 1aacc88f4..98acf56fc 100644 --- a/src/zapit/lib/zapitclient.cpp +++ b/src/zapit/lib/zapitclient.cpp @@ -146,6 +146,24 @@ unsigned int CZapitClient::zapTo_serviceID(const t_channel_id channel_id) CZapitMessages::commandZaptoServiceID msg; msg.channel_id = channel_id; + msg.record = false; + + send(CZapitMessages::CMD_ZAPTO_SERVICEID, (const char *) & msg, sizeof(msg)); + + CZapitMessages::responseZapComplete response; + CBasicClient::receive_data((char* )&response, sizeof(response)); + + close_connection(); + + return response.zapStatus; +} + +unsigned int CZapitClient::zapTo_record(const t_channel_id channel_id) +{ + CZapitMessages::commandZaptoServiceID msg; + + msg.channel_id = channel_id; + msg.record = true; send(CZapitMessages::CMD_ZAPTO_SERVICEID, (const char *) & msg, sizeof(msg));