
// @(#) 1.2 nt/src/utils/mlink.idl, odutils, od96nt, odnt9712d 11/1/96 19:07:57 [ 3/21/97 17:37:36 ]
//
//   Copyright  1988, 1989 Apple Computer, Inc. All rights reserved.

/*
 * DESCRIPTION: This class defines the general attributes of objects that
 *              contain links.  For example, TPrimitiveLinkedList uses
 *              somf_MLinkable.
 *
 */

#ifndef MLink_idl
#define MLink_idl

#include <somobj.idl>

interface somf_MLinkable : SOMObject
{
  somf_MLinkable somfMLinkableInit(in somf_MLinkable n,
				in somf_MLinkable p);

  // This method initialized the somf_MLinkable object using n and p.

  somf_MLinkable somfGetNext();

  // This method returns a pointer to the next somf_MLinkable.

  void somfSetNext(in somf_MLinkable aLink);

  // This method sets the pointer to the next somf_MLinkable.

  somf_MLinkable somfGetPrevious();

  // This method returns a pointer to the previous somf_MLinkable.

  void somfSetPrevious(in somf_MLinkable aLink);

  // This method sets the pointer to the previous somf_MLinkable.

#ifdef __SOMIDL__
  implementation {

    releaseorder: somfGetNext,somfSetNext,somfGetPrevious,somfSetPrevious,
		  somfMLinkableInit;

    majorversion = 2;
    minorversion = 1;
    filestem = mlink;
    dllname = "somuc.dll";

    somf_MLinkable fNext;
    somf_MLinkable fPrevious;

    somInit: override;
    somfMLinkableInit: nooverride;

  };
#endif /* __SOMIDL__ */
};

#endif  /* MLink_idl */
