home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
tolkit45.zip
/
os2tk45
/
som
/
include
/
mcollect.idl
< prev
next >
Wrap
Text File
|
1999-02-22
|
7KB
|
187 lines
//# @(#) 2.13 src/somuc/mcollect.idl, somuc, som2.1 12/26/95 15:33:04 [7/30/96 14:49:59]
//
// COMPONENT_NAME: somuc
//
// ORIGINS: 82, 81, 27
//
//
// 25H7912 (C) COPYRIGHT International Business Machines Corp. 1992,1996,1996
// All Rights Reserved
// Licensed Materials - Property of IBM
// US Government Users Restricted Rights - Use, duplication or
// disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//
// Copyright ⌐ 1988-92 Apple Computer, Inc. All rights reserved.
/*
* CLASS_NAME: somf_MCollectible
*
* DESCRIPTION: The class somf_MCollectible defines the generic object class
* from which all other classes are derived. It is an abstract
* class in that many subclasses will define some or all of the
* methods presented below.
*
*
*/
// This file was generated by the SOM Compiler.
// FileName: MCollect.id2.
// Generated using:
// SOM Precompiler spc: 6.13
// SOM Emitter emitidl.dll: 6.18
#ifndef MCollect_idl
#define MCollect_idl
#include <somobj.idl>
#include <somcls.idl>
interface somf_MCollectible : SOMObject
{
const long kReasonableLowerBound = 5;
typedef somMToken somf_MCollectibleCompareFn;
typedef somMToken somf_MCollectibleHashFn;
//# since MCollectible has no data, and has no code in it's destructor, the
//# following destructor has been commented out.
//# virtual ~MCollectible();
//# TStream* StreamOut(MCollectible* obj, TStream* towhere);
//# // Stream stuff
//# // virtual TStream& operator>>=(TStream& towhere) const;
//#
//# TStream* StreamIn(MCollectible* obj, TStream* fromwhere);
//# // Stream stuff
//# // virtual TStream& operator<<=(TStream& towhere);
//#
//# VersionInfo ReadVersion(TStream* fromWhere);
//# // VersionInfo ReadVersion(TStream& fromWhere);
//# // OBSOLETE
//# #ifndef NO_OBSOLETES
//# virtual Boolean StructureDoesNotHaveRepeatedReferences(Boolean deepFreeze = FALSE) const;
//# #endif
somf_MCollectible somfClone();
// somfClone provides a general function for creating a new instance of this.
//# virtual MCollectible* Clone() const;
//# Clone is an overloaded method. But since SOM can't handle overloaded
//# methods, and until TMemoryHeap is ported to SOM, the second definition
//# of Clone will be commented out.
//# virtual MCollectible* Clone(TMemoryHeap*& theHeap) const;
somf_MCollectible somfClonePointer(in somf_MCollectible clonee);
// somfClonePointer returns a pointer to a Clone
//# static MCollectible* ClonePointer(const MCollectible*);
long somfHash();
// somfHash returns a value suitable for use as a hashing probe for this.
// The default function will simply return the address of the object.
// The default function is almost certainly not adequate if you are overriding
// somfIsEqual because you need to make sure that all objects that "are equal"
// to each other return the same hash value. For example, a TText object would
// return a hash value computed using the characters in the string instead of
// the address of the string.
//# virtual long Hash() const;
boolean somfIsEqual(in somf_MCollectible obj);
// somfIsEqual returns TRUE if obj is isomorphic to this. The default function
// will give you a nasty message. For example, the somfIsEqual method
// for TText objects will do a string comparison. All of the utility classes
// allow you to specify what methods to use when comparing objects for
// insertion, deletion, etc.
//# virtual Boolean IsEqual(const MCollectible*) const;
boolean somfIsSame(in somf_MCollectible obj);
// The default function for somfIsSame is a pointer comparison
//# virtual Boolean IsSame(const MCollectible*) const;
//# The following overloaded operator has been commented, instead of being
//# turned into a method, because this operator is the same as the IsEqual
//# method.
//# Boolean operator==(const MCollectible& obj) const;
boolean somfIsNotEqual(in somf_MCollectible obj);
// somfIsNotEqual returns TRUE if obj is NOT isomorphic to this. It uses
// somfIsEqual, so overriding somfIsEqual will handle the logic of somfIsNotEqual too.
//# Boolean operator!=(const MCollectible& obj) const;
//# // Temporary stuff which may go away when we have hoops
//# virtual void PrintDebugInfo(Boolean verbose = FALSE) const;
//#
//# // Temporary stuff until we have runtime support.
//# ClassName* GetClassNameAsToken() const;
//# const char* GetClassNameAsString() const;
//# since MCollectible has no data, and has no code in it's constructor, the
//# following constructor has been commented out.
//#
//# protected:
//# MCollectible();
//# public:
//# // NOT FOR PUBLIC CONSUMPTION!!!
//# virtual TClassMetaInformation* GetMetaInformation() const;
//# const char* WhichRawSharedLibrary();
//# const TText* WhichSharedLibrary();
//# const TToken* WhichSharedLibraryAsToken();
//# virtual void* GetAddressOfMetaInformation() const;
#ifdef __SOMIDL__
implementation {
releaseorder: somfClone,somfClonePointer,somfHash,somfIsEqual,somfIsSame,
somfIsNotEqual;
//# Class Modifiers
majorversion = 2;
minorversion = 1;
filestem = mcollect;
dllname = "somuc.dll";
classinit = MCollectibleClassInit;
passthru C_xh_after = ""
""
"#define SOMF_NIL 0"
""
"#define SOMF_CALL_COMPARE_FN(obj,token,parameter) (((somTD_somf_MCollectible_somfIsEqual) somResolve(obj,token))(obj, ev, parameter))"
""
"#define SOMF_CALL_HASH_FN(obj,token) (((somTD_somf_MCollectible_somfHash) somResolve(obj,token))(obj, ev))"
""
"#define kDeleted (somf_MCollectible*) 0xFFFFFFFF";
passthru C_h_after = ""
""
"#define SOMF_NIL 0"
""
"#define SOMF_CALL_COMPARE_FN(obj,token,parameter) (((somTD_somf_MCollectible_somfIsEqual) somResolve(obj,token))(obj, ev, parameter))"
""
"#define SOMF_CALL_HASH_FN(obj,token) (((somTD_somf_MCollectible_somfHash) somResolve(obj,token))(obj, ev))"
""
"#define kDeleted (somf_MCollectible*) 0xFFFFFFFF";
//# Method Modifiers
somfClone: nomodify;
somfClonePointer: nooverride;
somfHash: nomodify;
somfIsEqual: nomodify;
somfIsSame: nomodify;
somfIsNotEqual: nomodify;
};
#endif /* __SOMIDL__ */
};
#endif /* MCollect_idl */