repositories
/
deb_libcec.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mark a device as powered on when receiving a stream path or routing change
[deb_libcec.git]
/
src
/
lib
/
CECProcessor.h
diff --git
a/src/lib/CECProcessor.h
b/src/lib/CECProcessor.h
index 5aa532b07a2db66e51986ee6f042ce100e8afd94..69586a7cb8fd47f7f010223ad40eb58d5195b0a4 100644
(file)
--- a/
src/lib/CECProcessor.h
+++ b/
src/lib/CECProcessor.h
@@
-51,6
+51,18
@@
namespace CEC
class CCECTuner;
class CCECTV;
class CCECClient;
class CCECTuner;
class CCECTV;
class CCECClient;
+ class CCECProcessor;
+
+ class CCECAllocateLogicalAddress : public PLATFORM::CThread
+ {
+ public:
+ CCECAllocateLogicalAddress(CCECProcessor* processor, CCECClient* client);
+ void* Process(void);
+
+ private:
+ CCECProcessor* m_processor;
+ CCECClient* m_client;
+ };
class CCECProcessor : public PLATFORM::CThread, public IAdapterCommunicationCallback
{
class CCECProcessor : public PLATFORM::CThread, public IAdapterCommunicationCallback
{
@@
-65,10
+77,12
@@
namespace CEC
bool RegisterClient(CCECClient *client);
bool UnregisterClient(CCECClient *client);
void UnregisterClients(void);
bool RegisterClient(CCECClient *client);
bool UnregisterClient(CCECClient *client);
void UnregisterClients(void);
+ uint16_t GetPhysicalAddressFromEeprom(void);
CCECClient *GetPrimaryClient(void);
CCECClient *GetClient(const cec_logical_address address);
bool OnCommandReceived(const cec_command &command);
CCECClient *GetPrimaryClient(void);
CCECClient *GetClient(const cec_logical_address address);
bool OnCommandReceived(const cec_command &command);
+ void HandleLogicalAddressLost(cec_logical_address oldAddress);
CCECBusDevice * GetDevice(cec_logical_address address) const;
CCECAudioSystem * GetAudioSystem(void) const;
CCECBusDevice * GetDevice(cec_logical_address address) const;
CCECAudioSystem * GetAudioSystem(void) const;
@@
-96,6
+110,7
@@
namespace CEC
bool SetDeckInfo(cec_deck_info info, bool bSendUpdate = true);
bool ActivateSource(uint16_t iStreamPath);
bool SetDeckInfo(cec_deck_info info, bool bSendUpdate = true);
bool ActivateSource(uint16_t iStreamPath);
+ void SetActiveSource(bool bSetTo, bool bClientUnregistered);
bool PollDevice(cec_logical_address iAddress);
void SetStandardLineTimeout(uint8_t iTimeout);
uint8_t GetStandardLineTimeout(void);
bool PollDevice(cec_logical_address iAddress);
void SetStandardLineTimeout(uint8_t iTimeout);
uint8_t GetStandardLineTimeout(void);
@@
-127,7
+142,13
@@
namespace CEC
bool TryLogicalAddress(cec_logical_address address, cec_version libCECSpecVersion = CEC_VERSION_1_4);
bool IsRunningLatestFirmware(void);
bool TryLogicalAddress(cec_logical_address address, cec_version libCECSpecVersion = CEC_VERSION_1_4);
bool IsRunningLatestFirmware(void);
- private:
+ void SwitchMonitoring(bool bSwitchTo);
+
+ bool AllocateLogicalAddresses(CCECClient* client);
+
+ uint16_t GetAdapterVendorId(void) const;
+ uint16_t GetAdapterProductId(void) const;
+ private:
bool OpenConnection(const char *strPort, uint16_t iBaudRate, uint32_t iTimeoutMs, bool bStartListening = true);
void SetCECInitialised(bool bSetTo = true);
bool OpenConnection(const char *strPort, uint16_t iBaudRate, uint32_t iTimeoutMs, bool bStartListening = true);
void SetCECInitialised(bool bSetTo = true);
@@
-152,5
+173,8
@@
namespace CEC
CCECInputBuffer m_inBuffer;
CCECDeviceMap * m_busDevices;
std::map<cec_logical_address, CCECClient *> m_clients;
CCECInputBuffer m_inBuffer;
CCECDeviceMap * m_busDevices;
std::map<cec_logical_address, CCECClient *> m_clients;
+ bool m_bMonitor;
+ CCECAllocateLogicalAddress* m_addrAllocator;
+ bool m_bStallCommunication;
};
};
};
};