shutdownidentity.cc
来自「编译工具」· CC 代码 · 共 124 行
CC
124 行
// -*- Mode: C++; -*-// Package : omniORB// shutdownIdentity.cc Created on: 2001/09/17// Author : Duncan Grisby (dpg1)//// Copyright (C) 2001 AT&T Research Cambridge//// This file is part of the omniORB library.//// The omniORB library is free software; you can redistribute it and/or// modify it under the terms of the GNU Library General Public// License as published by the Free Software Foundation; either// version 2 of the License, or (at your option) any later version.//// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU// Library General Public License for more details.//// You should have received a copy of the GNU Library General Public// License along with this library; if not, write to the Free// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA// 02111-1307, USA////// Description:// Dummy singleton identity placed into object references when the// ORB is shutting down.///* $Log: shutdownIdentity.cc,v $ Revision 1.1.2.1 2001/09/19 17:26:53 dpg1 Full clean-up after orb->destroy().*/#include <omniORB4/CORBA.h>#include <omniORB4/minorCode.h>#ifdef HAS_pch#pragma hdrstop#endif#include <shutdownIdentity.h>OMNI_USING_NAMESPACE(omni)static omniShutdownIdentity* the_singleton = 0;voidomniShutdownIdentity::dispatch(omniCallDescriptor&){ omni::internalLock->unlock(); OMNIORB_THROW(BAD_INV_ORDER, BAD_INV_ORDER_ORBHasShutdown, CORBA::COMPLETED_NO);}voidomniShutdownIdentity::gainRef(omniObjRef*){ ASSERT_OMNI_TRACEDMUTEX_HELD(*omni::internalLock, 1); pd_refCount++;}voidomniShutdownIdentity::loseRef(omniObjRef*){ ASSERT_OMNI_TRACEDMUTEX_HELD(*omni::internalLock, 1); if (--pd_refCount == 0) { delete this; the_singleton = 0; }}voidomniShutdownIdentity::locateRequest(omniCallDescriptor&){ omni::internalLock->unlock();}_CORBA_BooleanomniShutdownIdentity::inThisAddressSpace(){ return 0;}omniShutdownIdentity*omniShutdownIdentity::singleton(){ ASSERT_OMNI_TRACEDMUTEX_HELD(*omni::internalLock, 1); if (!the_singleton) the_singleton = new omniShutdownIdentity; return the_singleton;}omniIdentity::equivalent_fnomniShutdownIdentity::get_real_is_equivalent() const{ return real_is_equivalent;}CORBA::BooleanomniShutdownIdentity::real_is_equivalent(const omniIdentity* id1, const omniIdentity* id2){ return 0;}void*omniShutdownIdentity::thisClassCompare(omniIdentity* id, void* vfn){ classCompare_fn fn = (classCompare_fn)vfn; if (fn == omniShutdownIdentity::thisClassCompare) return (omniShutdownIdentity*)id; return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?