//
//   COMPONENT_NAME: some
//
//   ORIGINS: 27
//
//
//    25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1994,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.
//
//#  @(#) somc/scmodule.idl 2.11 5/9/96 15:31:18 [12/22/96 21:12:09]


#ifndef scmodule_idl
#define scmodule_idl

#include <scentry.idl>

interface SOMTStructEntryC;
interface SOMTTypedefEntryC;
interface SOMTUnionEntryC;
interface SOMTEnumEntryC;
interface SOMTConstEntryC;
interface SOMTSequenceEntryC;
interface SOMTClassEntryC;

interface SOMTModuleEntryC : SOMTEntryC
{
  readonly attribute SOMTModuleEntryC somtOuterModule;
  /* The module enclosing this module, or NULL if there is none. */

  readonly attribute string somtModuleFile;
  /* The name of the file in which the module appears. */

  SOMTStructEntryC somtGetFirstModuleStruct ();
  SOMTStructEntryC somtGetNextModuleStruct ();
  SOMTTypedefEntryC somtGetFirstModuleTypedef ();
  SOMTTypedefEntryC somtGetNextModuleTypedef ();
  SOMTUnionEntryC somtGetFirstModuleUnion ();
  SOMTUnionEntryC somtGetNextModuleUnion ();
  SOMTEnumEntryC somtGetFirstModuleEnum ();
  SOMTEnumEntryC somtGetNextModuleEnum ();
  SOMTConstEntryC somtGetFirstModuleConstant ();
  SOMTConstEntryC somtGetNextModuleConstant ();
  SOMTSequenceEntryC somtGetFirstModuleSequence ();
  SOMTSequenceEntryC somtGetNextModuleSequence ();
  SOMTClassEntryC somtGetFirstInterface ();
  SOMTClassEntryC somtGetNextInterface ();
  SOMTModuleEntryC somtGetFirstModule ();
  SOMTModuleEntryC somtGetNextModule ();
  SOMTEntryC somtGetFirstModuleDef ();
  SOMTEntryC somtGetNextModuleDef ();

#ifdef __SOMIDL__
  implementation {
    releaseorder: _get_somtOuterModule, somtGetFirstModuleStruct, 
                  somtGetNextModuleStruct, somtGetFirstModuleTypedef, 
                  somtGetNextModuleTypedef, somtGetFirstModuleUnion, 
                  somtGetNextModuleUnion, somtGetFirstModuleEnum, 
                  somtGetNextModuleEnum, somtGetFirstModuleConstant, 
                  somtGetNextModuleConstant, somtGetFirstModuleSequence, 
                  somtGetNextModuleSequence, somtGetFirstInterface, 
                  somtGetNextInterface, somtGetFirstModule, 
                  somtGetNextModule, somtGetFirstModuleDef, 
		  somtGetNextModuleDef, _get_somtModuleFile;

    //# Class Modifiers
    majorversion = 2;
    minorversion = 1;
    filestem = scmodule;
#ifdef _WIN32
    dllname = "some.dll";
#endif
    callstyle = oidl;
  
    //# Method Modifiers
    somDumpSelfInt: override;
    somtSetSymbolsOnEntry: override;
  
    //# Attribute Modifiers
    somtOuterModule: nodata;
    somtModuleFile: nodata;

  };
#endif /* __SOMIDL__ */
};


#endif  /* scmodule_idl */
