Skip to content

Commit c6ef2f7

Browse files
committed
AVInput COM-RPC Support: Debugging unit tests
1 parent 4170cbe commit c6ef2f7

File tree

3 files changed

+57
-7
lines changed

3 files changed

+57
-7
lines changed

AVInput/AVInput.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,10 @@ namespace Plugin {
8686

8787
if (nullptr != _avInput) {
8888

89+
// <pca> 2
90+
_avInput->initialize(_avInputNotification);
91+
// </pca>
92+
8993
// Register for notifications
9094
_avInput->RegisterDevicesChangedNotification(_avInputNotification.baseInterface<Exchange::IAVInput::IDevicesChangedNotification>());
9195
_avInput->RegisterSignalChangedNotification(_avInputNotification.baseInterface<Exchange::IAVInput::ISignalChangedNotification>());
@@ -115,6 +119,11 @@ namespace Plugin {
115119

116120
if (nullptr != _avInput) {
117121

122+
// <pca> 2
123+
_avInput->deinitialize();
124+
// If this works move the stuff below to AVInputImplementation::deinitialize()
125+
// </pca>
126+
118127
_avInput->UnregisterDevicesChangedNotification(_avInputNotification.baseInterface<Exchange::IAVInput::IDevicesChangedNotification>());
119128
_avInput->UnregisterSignalChangedNotification(_avInputNotification.baseInterface<Exchange::IAVInput::ISignalChangedNotification>());
120129
_avInput->UnregisterInputStatusChangedNotification(_avInputNotification.baseInterface<Exchange::IAVInput::IInputStatusChangedNotification>());

AVInput/AVInputImplementation.cpp

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,37 +53,73 @@ namespace Plugin {
5353

5454
AVInputImplementation::_instance = this;
5555

56+
// <pca> 2
57+
// try {
58+
// device::Manager::Initialize();
59+
// LOGINFO("device::Manager::Initialize success");
60+
// if (!_registeredDsEventHandlers) {
61+
// _registeredDsEventHandlers = true;
62+
// device::Host::getInstance().Register(baseInterface<device::Host::IHdmiInEvents>(), "WPE::AVInputHdmi");
63+
// device::Host::getInstance().Register(baseInterface<device::Host::ICompositeInEvents>(), "WPE::AVInputComp");
64+
// }
65+
// }
66+
// catch(const device::Exception& err) {
67+
// LOGINFO("AVInput: Initialization failed due to device::manager::Initialize()");
68+
// LOG_DEVICE_EXCEPTION0();
69+
// }
70+
// </pca>
71+
}
72+
73+
AVInputImplementation::~AVInputImplementation()
74+
{
75+
device::Host::getInstance().UnRegister(baseInterface<device::Host::IHdmiInEvents>());
76+
device::Host::getInstance().UnRegister(baseInterface<device::Host::ICompositeInEvents>());
77+
_registeredDsEventHandlers = false;
78+
try {
79+
device::Manager::DeInitialize();
80+
LOGINFO("device::Manager::DeInitialize success");
81+
}
82+
catch(const device::Exception& err) {
83+
LOGINFO("device::Manager::DeInitialize failed due to device::Manager::DeInitialize()");
84+
LOG_DEVICE_EXCEPTION0();
85+
}
86+
87+
AVInputImplementation::_instance = nullptr;
88+
}
89+
90+
// <pca> 2
91+
void initialize(Core::Sink<Notification> notification)
92+
{
5693
try {
5794
device::Manager::Initialize();
58-
LOGINFO("device::Manager::Initialize success");
95+
LOGINFO("initialize: device::Manager::Initialize success");
5996
if (!_registeredDsEventHandlers) {
6097
_registeredDsEventHandlers = true;
6198
device::Host::getInstance().Register(baseInterface<device::Host::IHdmiInEvents>(), "WPE::AVInputHdmi");
6299
device::Host::getInstance().Register(baseInterface<device::Host::ICompositeInEvents>(), "WPE::AVInputComp");
63100
}
64101
}
65102
catch(const device::Exception& err) {
66-
LOGINFO("AVInput: Initialization failed due to device::manager::Initialize()");
103+
LOGINFO("initialize: Initialization failed due to device::manager::Initialize()");
67104
LOG_DEVICE_EXCEPTION0();
68105
}
69106
}
70107

71-
AVInputImplementation::~AVInputImplementation()
108+
void deinitialize()
72109
{
73110
device::Host::getInstance().UnRegister(baseInterface<device::Host::IHdmiInEvents>());
74111
device::Host::getInstance().UnRegister(baseInterface<device::Host::ICompositeInEvents>());
75112
_registeredDsEventHandlers = false;
76113
try {
77114
device::Manager::DeInitialize();
78-
LOGINFO("device::Manager::DeInitialize success");
115+
LOGINFO("deinitialize: device::Manager::DeInitialize success");
79116
}
80117
catch(const device::Exception& err) {
81-
LOGINFO("device::Manager::DeInitialize failed due to device::Manager::DeInitialize()");
118+
LOGINFO("deinitialize: device::Manager::DeInitialize failed due to device::Manager::DeInitialize()");
82119
LOG_DEVICE_EXCEPTION0();
83120
}
84-
85-
AVInputImplementation::_instance = nullptr;
86121
}
122+
// </pca>
87123

88124
template <typename T>
89125
Core::hresult AVInputImplementation::Register(std::list<T*>& list, T* notification)

AVInput/AVInputImplementation.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ namespace Plugin {
105105
return static_cast<T*>(this);
106106
}
107107

108+
// <pca> 2
109+
void initialize(Core::Sink<Notification> notification);
110+
void deinitialize();
111+
// </pca>
112+
108113
class EXTERNAL Job : public Core::IDispatch {
109114

110115
public:

0 commit comments

Comments
 (0)