//===========================================================================// // File: node.hh // // Project: MUNGA Brick: Connection Library // // Contents: Interface specification for base node class // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 09/29/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/08/94 ECH Made compatible with BC4.0 // // 11/30/94 JMA Adapted to new style conventions // // 12/06/94 JMA Made virtual data publicly visible // // 12/12/94 ECH Changed release handler // // 02/16/95 ECH Removed plug commands, added node command // // 02/16/95 ECH Removed plug commands, added node command // //---------------------------------------------------------------------------// // Copyright (C) 1994-1995, Virtual World Entertainment, Inc. // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #pragma once #include "Stuff.hpp" #include "Socket.hpp" namespace Stuff { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Node ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ typedef Plug__ClassData Node__ClassData; class Node: public Plug { public: static void InitializeClass(); static void TerminateClass(); void TestInstance(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructor/Destructor // public: ~Node(); protected: explicit Node(ClassData *class_data); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Class Data Support // public: typedef Node__ClassData ClassData; static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // plug detachment // public: virtual void ReleaseLinkHandler(Socket*, Plug*); }; }