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 + -
显示快捷键?