本文整理汇总了C++中basic::Object::unref方法的典型用法代码示例。如果您正苦于以下问题:C++ Object::unref方法的具体用法?C++ Object::unref怎么用?C++ Object::unref使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类basic::Object
的用法示例。
在下文中一共展示了Object::unref方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: clearQueues
//------------------------------------------------------------------------------
// clearQueues() -- clear all queues
//------------------------------------------------------------------------------
void Datalink::clearQueues()
{
Basic::Object* msg = inQueue->get();
while (msg != 0) {
msg->unref();
msg = inQueue->get();
}
msg = outQueue->get();
while (msg != 0) {
msg->unref();
msg = outQueue->get();
}
}
示例2: queueIncomingMessage
//------------------------------------------------------------------------------
// queueIncomingMessage() -- Queue up an incoming message
//------------------------------------------------------------------------------
bool Datalink::queueIncomingMessage(Basic::Object* const msg)
{
// Only queue message if Ownship is local. IPlayer messages are processed on their local systems
if ((getOwnship() == 0) || !(getOwnship()->isLocalPlayer())) {
return true;
}
//if (isMessageEnabled(MSG_INFO)) {
//std::cout << getOwnship()->getID() << "\tincomming QQueue Size: " << inQueue->entries() << std::endl;
//}
if(inQueue->isFull()) {
if (isMessageEnabled(MSG_WARNING)) {
std::cerr << "dumping 10 oldest messages in Datalink::inQueue" << std::endl;
}
for(int i = 0; i < 10; i++) {
Basic::Object* obj = inQueue->get();
obj->unref();
} //clear out 10 oldest messages
}
if (msg != 0) {
msg->ref();
inQueue->put(msg);
}
return true;
}
示例3: queueOutgoingMessage
//------------------------------------------------------------------------------
// queueOutgoingMessage() -- Queue up an out going message --
//------------------------------------------------------------------------------
bool Datalink::queueOutgoingMessage(Basic::Object* const msg)
{
//if (isMessageEnabled(MSG_INFO)) {
//std::cout << getOwnship()->getID() << "\tOutgoing QQueue Size: " << outQueue->entries() << std::endl;
//}
if(outQueue->isFull()) {
if (isMessageEnabled(MSG_WARNING)) {
std::cerr << "dumping 10 oldest messages in Datalink::outQueue" << std::endl;
}
for(int i = 0; i < 10; i++) {
Basic::Object* obj = outQueue->get();
if (obj != 0) obj->unref();
} //clear out 10 oldest messages
}
if (msg != 0) {
msg->ref();
outQueue->put(msg);
}
return true;
}
示例4: copyData
//------------------------------------------------------------------------------
// copyData() -- copy member data
//------------------------------------------------------------------------------
void SlSymbol::copyData(const SlSymbol& org, const bool cc)
{
BaseClass::copyData(org);
if (cc) initData();
visibility = org.visibility;
llFlg = org.llFlg;
acFlg = org.acFlg;
scrnFlg = org.scrnFlg;
type = org.type;
lcStrcpy(id, sizeof(id), org.id);
xPos = org.xPos;
yPos = org.yPos;
xScreenPos = org.xScreenPos;
yScreenPos = org.yScreenPos;
hdg = org.hdg;
hdgValid = org.hdgValid;
setHdgGraphics(0);
setHdgAngleObj(0);
{
Basic::Object* copy = 0;
if (org.value != 0) copy = org.value->clone();
setValue(copy);
if (copy != 0) copy->unref();
}
{
Basic::Pair* copy = 0;
if (org.pntr != 0) copy = org.pntr->clone();
setSymbolPair(copy);
if (copy != 0) copy->unref();
}
}