本文整理汇总了C++中NF_SHARE_PTR::Enable方法的典型用法代码示例。如果您正苦于以下问题:C++ NF_SHARE_PTR::Enable方法的具体用法?C++ NF_SHARE_PTR::Enable怎么用?C++ NF_SHARE_PTR::Enable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NF_SHARE_PTR
的用法示例。
在下文中一共展示了NF_SHARE_PTR::Enable方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Execute
bool NFCComponentManager::Execute()
{
NF_SHARE_PTR<NFIComponent> pComponent = First();
while (pComponent.get() && pComponent->Enable())
{
pComponent->Execute();
pComponent = Next();
}
return true;
}
示例2: Handler
void NFCActor::Handler(const NFIActorMessage& message, const Theron::Address from)
{
std::string strData = message.data;
ACTOR_PROCESS_FUNCTOR_PTR ptrBegin = mxProcessFuntor.GetElement(message.nMsgID);
if (ptrBegin != nullptr)
{
ACTOR_PROCESS_FUNCTOR* pFun = ptrBegin.get();
pFun->operator()(message.self, message.nFormActor, message.nMsgID, strData);
}
else
{
for (NF_SHARE_PTR<NFIComponent> pComponent = mxComponent.First(); pComponent != nullptr; pComponent = mxComponent.Next())
{
if (pComponent->Enable())
{
pComponent->OnASyncEvent(message.self, message.nFormActor, message.nMsgID, strData);
}
}
}
////////////////////////////////////////////////////////
// must return message
NFIActorMessage xReturnMessage;
xReturnMessage.msgType = NFIActorMessage::ACTOR_MSG_TYPE_END_FUNC;
xReturnMessage.nMsgID = message.nMsgID;
xReturnMessage.data = strData;
xReturnMessage.self = message.self;
xReturnMessage.nFormActor = this->GetAddress().AsInteger();
ACTOR_PROCESS_FUNCTOR_PTR ptrEnd = mxEndProcessFuntor.GetElement(message.nMsgID);
if (ptrEnd != nullptr)
{
xReturnMessage.xEndFuncptr = ptrEnd;
}
else
{
//default end function
if (mxDefaultEndProcessFuntor != nullptr)
{
xReturnMessage.xEndFuncptr = mxDefaultEndProcessFuntor;
}
}
Send(xReturnMessage, from);
}