本文整理汇总了C++中Notification::SetValueId方法的典型用法代码示例。如果您正苦于以下问题:C++ Notification::SetValueId方法的具体用法?C++ Notification::SetValueId怎么用?C++ Notification::SetValueId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Notification
的用法示例。
在下文中一共展示了Notification::SetValueId方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Notification
//-----------------------------------------------------------------------------
// <ValueStore::AddValue>
// Add a value to the store
//-----------------------------------------------------------------------------
bool ValueStore::AddValue
(
Value* _value
)
{
if( !_value )
{
return false;
}
uint32 key = _value->GetID().GetValueStoreKey();
map<uint32,Value*>::iterator it = m_values.find( key );
if( it != m_values.end() )
{
// There is already a value in the store with this key, so we give up.
return false;
}
m_values[key] = _value;
_value->AddRef();
// Notify the watchers of the new value
if( Driver* driver = Manager::Get()->GetDriver( _value->GetID().GetHomeId() ) )
{
Notification* notification = new Notification( Notification::Type_ValueAdded );
notification->SetValueId( _value->GetID() );
driver->QueueNotification( notification );
}
return true;
}
示例2: Notification
//-----------------------------------------------------------------------------
// <Value::OnValueChanged>
// A value in a device has changed
//-----------------------------------------------------------------------------
void Value::OnValueChanged
(
)
{
if( IsWriteOnly() )
{
return;
}
if( Driver* driver = Manager::Get()->GetDriver( m_id.GetHomeId() ) )
{
m_isSet = true;
// Notify the watchers
Notification* notification = new Notification( Notification::Type_ValueChanged );
notification->SetValueId( m_id );
driver->QueueNotification( notification );
}
/* Call Back to the Command Class that this Value has changed, so we can search the
* TriggerRefreshValue vector to see if we should request any other values to be
* refreshed.
*/
Node* node = NULL;
if( Driver* driver = Manager::Get()->GetDriver( m_id.GetHomeId() ) )
{
node = driver->GetNodeUnsafe( m_id.GetNodeId() );
if( node != NULL )
{
if( CommandClass* cc = node->GetCommandClass( m_id.GetCommandClassId() ) )
{
cc->CheckForRefreshValues(this);
}
}
}
}