
/*
 * This file was generated by the SOM Compiler.
 * FileName: oem.h.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emith: 1.11
 */

/*
 * 
 * 
 * 
 *   File Name   : OEM.CSC
 * 
 *   Description : Sample sublcass
 * 
 *   Function:  This is a sample of a subclass of PenLocatorPen
 * 
 *   Copyright (C) 1993 IBM Corporation
 * 
 *       DISCLAIMER OF WARRANTIES.  The following [enclosed] code is
 *       sample code created by IBM Corporation. This sample code is not
 *       part of any standard or IBM product and is provided to you solely
 *       for  the purpose of assisting you in the development of your
 *       applications.  The code is provided "AS IS", without
 *       warranty of any kind.  IBM shall not be liable for any damages
 *       arising out of your use of the sample code, even if they have been
 *       advised of the possibility of such damages.
 * 
 */


#ifndef oem_h
#define oem_h


/*
 * Passthru lines: File: "C.h", "before"
 */

  #define INCL_DOS
  #define INCL_DOSERRORS
  #define INCL_PM
  #define INCL_WINWORKPLACE
  #include <os2.h>
  #include <io.h>
  #include <stdio.h>
  #include <string.h>

  #define ID_OBJECTICON  200
  #define OEM_DIALOG     201

  MRESULT EXPENTRY OemDialogProc(HWND hwndDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
  VOID EXPENTRY OemSetup( HWND, PSZ, PSZ, PSZ, HWND, PSZ );


#include <som.h>

/*
 * Define the class name as an object type
 */
#ifndef oem
#define oem SOMAny
#endif
#include "wplocpen.h"

#define oem_MajorVersion 1
#define oem_MinorVersion 2

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define oemNewClass c
#pragma linkage(c, system)
#define oemClassData d
#define oemCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define oem_classObj oemClassData.classObject
#define _oem oem_classObj

/*
 * New and Renew macros for oem
 */
#define _oemNew() (_somNew(oemClassData.classObject))
#define oemNew() \
	( oemClassData.classObject \
		? _oemNew() \
		: ( oemNewClass(oem_MajorVersion, oem_MinorVersion), _oemNew() ) )
#define oemRenew(buf) \
	( _somRenew(oemClassData.classObject, buf) )

/*
 * Override method: wpAddSettingsPages
 */
#define oem_wpAddSettingsPages(somSelf,hwndNotebook) \
	WPObject_wpAddSettingsPages(somSelf,hwndNotebook)

/*
 * New Method: AddUserTypePage
 */
typedef ULONG    SOMLINK somTP_oem_AddUserTypePage(oem *somSelf,
		HWND hwndOem);
#pragma linkage(somTP_oem_AddUserTypePage, system)
typedef somTP_oem_AddUserTypePage *somTD_oem_AddUserTypePage;
#define somMD_oem_AddUserTypePage "----"
#define oem_AddUserTypePage(somSelf,hwndOem) \
    (SOM_Resolve(somSelf, oem, AddUserTypePage) \
	(somSelf,hwndOem))
#define _AddUserTypePage oem_AddUserTypePage

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMAny * SOMLINK oemNewClass(integer4 scemajorVersion,
		integer4 sceminorVersion);
#pragma linkage(oemNewClass, system)

/*
 * Declare the class data structure
 */
SOMEXTERN struct oemClassDataStructure {
	SOMAny *classObject;
	somMToken AddUserTypePage;
} oemClassData;

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct oemCClassDataStructure {
	somMethodTab *parentMtab;
	somDToken instanceDataToken;
} oemCClassData;

#endif       /* oem_h */

/*
 * This file was generated by the SOM Compiler.
 * FileName: oem.h.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emith: 1.11
 */

#ifndef oem_mh
#define oem_mh


/*
 * Define the class name as an object type
 */
#ifndef M_oem
#define M_oem SOMAny
#endif

#define M_oem_MajorVersion 1
#define M_oem_MinorVersion 2

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define M_oemNewClass c
#pragma linkage(c, system)
#define M_oemClassData d
#define M_oemCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define M_oem_classObj M_oemClassData.classObject
#define _M_oem M_oem_classObj

/*
 * New and Renew macros for M_oem
 */
#define _M_oemNew() (_somNew(M_oemClassData.classObject))
#define M_oemNew() \
	( M_oemClassData.classObject \
		? _M_oemNew() \
		: ( M_oemNewClass(M_oem_MajorVersion, M_oem_MinorVersion), _M_oemNew() ) )
#define M_oemRenew(buf) \
	( _somRenew(M_oemClassData.classObject, buf) )

/*
 * Override method: wpclsQueryTitle
 */
#define M_oem_wpclsQueryTitle(somSelf) \
	M_WPObject_wpclsQueryTitle(somSelf)

/*
 * Override method: wpclsQueryIconData
 */
#define M_oem_wpclsQueryIconData(somSelf,pIconInfo) \
	M_WPObject_wpclsQueryIconData(somSelf,pIconInfo)

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMAny * SOMLINK M_oemNewClass(integer4 scemajorVersion,
		integer4 sceminorVersion);
#pragma linkage(M_oemNewClass, system)

/*
 * Declare the class data structure
 */
SOMEXTERN struct M_oemClassDataStructure {
	SOMAny *classObject;
} M_oemClassData;

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct M_oemCClassDataStructure {
	somMethodTab *parentMtab;
	somDToken instanceDataToken;
} M_oemCClassData;

#endif       /* oem_h */
