//===========================================================================// // File: link.hh // // Project: MUNGA Brick: Connection Library // // Contents: Interface specification of base Link // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 10/19/94 ECH Initial coding. // // 10/20/94 JMA Fixed style stuff. // // 10/23/94 ECH Added greater deletion safety // // 10/28/94 JMA Made compatible with SGI CC // // 11/03/94 ECH Made compatible with BC4.0 // // 12/12/94 ECH Changed release handling // //---------------------------------------------------------------------------// // Copyright (C) 1994-1995, Virtual World Entertainment, Inc. // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #if !defined(LINK_HPP) # define LINK_HPP # if !defined(STYLE_HPP) # include # endif class Socket; class Plug; class PlugIterator; class Node; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Link ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class Link SIGNATURED { friend class PlugIterator; public: // //-------------------------------------------------------------------- //-------------------------------------------------------------------- // virtual ~Link(); Logical TestInstance() const; // //-------------------------------------------------------------------- //-------------------------------------------------------------------- // Socket* GetSocket() {return socket;} Plug* GetPlug() {return plug;} protected: // //-------------------------------------------------------------------- //-------------------------------------------------------------------- // Link( Socket *socket, Plug *plug ); // //-------------------------------------------------------------------- //-------------------------------------------------------------------- // void ReleaseFromPlug(); // //-------------------------------------------------------------------- //-------------------------------------------------------------------- // Socket *socket; Plug *plug; private: // //-------------------------------------------------------------------- //-------------------------------------------------------------------- // void AddToPlug(Plug *plug); // //-------------------------------------------------------------------- //-------------------------------------------------------------------- // Link *nextLink; Link *prevLink; }; #endif