/*
 *    @(#)35 1.1 9/28/93 11:46:21 [10/14/94] (c)IBM Corp. 1992
 */

// This file was generated by the SOM Compiler.
// FileName: link.id2.
// Generated using:
//     SOM Precompiler spc: 6.9
//     SOM Emitter emitidl.dll: 6.8

//  This class is adapted from the book
//    Class Construction in C and C++, Object Oriented Fundamentals
//    by Roger Sessions, Copyright (c) 1992 Prentice Hall.
//  Reprinted with permission.

#ifndef link_idl
#define link_idl

#include "bt.idl"

interface link : baseType
{
  void linkSetNext(in link nextLink);
  
  // Set the next pointer on target link to new link.

  void linkSetPrevious(in link nextLink);
  
  // Set the previous pointer on target link to new link.

  void linkSetContents(in baseType newContents);
  
  // Set the contents pointer on target link to new object.

  link linkGetNext();
  
  // Get the next link after the target link.

  link linkGetPrevious();
  
  // Get the previous link before the target link.

  baseType linkGetContents();
  
  // Get the contents of the target link.



#ifdef __SOMIDL__
  implementation {

    releaseorder: linkSetNext,linkSetPrevious,linkSetContents,linkGetNext, 
                  linkGetPrevious,linkGetContents;

    //# Class Modifiers
    callstyle = oidl;
    local; 
    filestem = link;

    passthru C_h =      "#include \"bt.h\"";


    //# Internal Instance Variables
    link next;                    
    link previous;                
    baseType contents;            

    //# Method Modifiers
    print: override;
    somInit: override;
    somDumpSelfInt: override;

    //# Data Modifiers
    next: ;
    previous: ;
    contents: ;

  };
#endif /* __SOMIDL__ */
};

#endif  /* link_idl */
