home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 6 File
/
06-File.zip
/
filestat.zip
/
filestat.ih
< prev
next >
Wrap
Text File
|
1993-09-20
|
12KB
|
441 lines
/*
* This file was generated by the SOM Compiler.
* FileName: filestat.ih.
* Generated using:
* SOM Precompiler spc: 1.22
* SOM Emitter emitih: 1.60
*/
/*
*
*
* File Statistics: Displays statistics about files dropped on it
* Written by : Ghassan Salem
* Inspired by : Gregory Czaja (black Hole's originator)
*/
#ifndef FileStat_ih
#define FileStat_ih
/*
* Passthru lines: File: "C.ih", "before"
*/
/* implementation defs for FileState */
/* PM definitions */
#define INCL_WIN
#define INCL_DOS
#define INCL_GPIBITMAPS
#include <os2.h>
#define INCL_WPCLASS
#define INCL_WPFOLDER
#include <pmwp.h>
/* internal definitions */
#define MYSTR_CLASSNAME "FileState"
#include "FileStat.h"
/*
* Set the scope of methods functions
*/
#ifndef SOM_Scope
#ifdef __cplusplus
#define SOM_Scope extern "C"
#else
#define SOM_Scope extern
#endif
#endif
#ifndef SOM_CurrentClass
#define SOM_CurrentClass FileStateCClassData.parentMtab
#endif
#define FileState_MaxNoMethods 0
/*
* Instance data
*/
typedef struct {
PSZ pszMyHeader;
} FileStateData;
/*
* Instance variable access macros
*/
#define _pszMyHeader (somThis->pszMyHeader)
/*
* Getdata macro
*/
#define FileStateGetData(somSelf) \
((FileStateData *) \
SOM_DataResolve(somSelf, FileStateCClassData.instanceDataToken))
/*
* Trace/Debug macro
*/
#ifndef FileStateMethodDebug
#define FileStateMethodDebug(c,m) SOMMethodDebug(c,m)
#endif
/*
* Begin stuff that only goes in the primary file
*/
#ifdef FileState_Class_Source
/*
* Current class macros for Instance and Meta classes.
*/
#undef SOMMeta
#define SOMMeta M_FileStateCClassData.parentMtab
#undef SOMInstance
#define SOMInstance FileStateCClassData.parentMtab
#ifndef M_FileState_Class_Source
#define M_FileState_Class_Source
#endif /* M_FileState_Class_Source */
/*
* Generate the Apply Stubs.
*/
/*
* Overridden method: wpDragOver
*/
#pragma linkage(FileStatX_wpDragOver, system)
SOM_Scope MRESULT SOMLINK FileStatX_wpDragOver(FileState *somSelf,
HWND hwndCnr,
PDRAGINFO pdrgInfo);
#ifndef parent_wpDragOver
static char *somMN_wpDragOver = "wpDragOver";
static somId somId_wpDragOver = &somMN_wpDragOver;
#define parent_wpDragOver(somSelf,hwndCnr,pdrgInfo) \
((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpDragOver)) \
(somSelf,hwndCnr,pdrgInfo))
#endif
#define FileStateParent_wpDragOver parent_wpDragOver
/*
* Overridden method: wpDrop
*/
#pragma linkage(FileStatX_wpDrop, system)
SOM_Scope MRESULT SOMLINK FileStatX_wpDrop(FileState *somSelf,
HWND hwndCnr,
PDRAGINFO pdrgInfo,
PDRAGITEM pdrgItem);
#ifndef parent_wpDrop
static char *somMN_wpDrop = "wpDrop";
static somId somId_wpDrop = &somMN_wpDrop;
#define parent_wpDrop(somSelf,hwndCnr,pdrgInfo,pdrgItem) \
((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpDrop)) \
(somSelf,hwndCnr,pdrgInfo,pdrgItem))
#endif
#define FileStateParent_wpDrop parent_wpDrop
/*
* Temporary class data structure used only in class creation
*/
static somClassDataStructure FileStatetempClassData;
/*
* Initialize the class data structure
*/
struct FileStateClassDataStructure FileStateClassData = {(SOMAny *) NULL};
/*
* Define the C class data structure
*/
struct FileStateCClassDataStructure FileStateCClassData = {(somMethodTab *) NULL};
/*
* Routines to create the class object
*/
/*
* Declare the Override Methods table.
*/
static somOverrideMethod_t FileStateOM[] = {
{ &somId_wpDragOver,
(somMethodProc *) FileStatX_wpDragOver },
{ &somId_wpDrop,
(somMethodProc *) FileStatX_wpDrop },
};
static void FileStatesomInitializeClass (void)
{
int i;
somOverrideMethod_t *omp;
/*
* Override methods.
*/
for (omp = FileStateOM, i = 0; i < 2; omp++, i++)
_somOverrideSMethod (FileStatetempClassData.classObject,
*(omp->methodId), omp->method);
}
#pragma linkage(FileStatesomCreateClass, system)
static void SOMLINK FileStatesomCreateClass(SOMClass *pClsObj,
SOMClass *mClsObj)
{
FileStatetempClassData.classObject = _somNew (mClsObj);
_somInitClass (FileStatetempClassData.classObject,
"FileState",
pClsObj,
sizeof(FileStateData),
FileState_MaxNoMethods,
FileState_MajorVersion,
FileState_MinorVersion);
FileStateCClassData.instanceDataToken =
_somGetInstanceToken(FileStatetempClassData.classObject);
FileStatesomInitializeClass();
FileStateCClassData.parentMtab =
_somGetPClsMtab(FileStatetempClassData.classObject);
_somSetClassData(FileStatetempClassData.classObject, (somClassDataStructure *)&FileStateClassData);
_somClassReady(FileStatetempClassData.classObject);
/* make newly created class object visible */
FileStateClassData.classObject = FileStatetempClassData.classObject;
}
FileState * SOMLINK FileStateNewClass (integer4 scemajorVersion,
integer4 sceminorVersion)
{
SOMClass *pClsObj;
SOMClass *mClsObj;
/* Check the version numbers */
if (((scemajorVersion != 0) &&
(scemajorVersion != FileState_MajorVersion)) ||
((sceminorVersion != 0) &&
(sceminorVersion > FileState_MinorVersion))) {
somPrintf("FileStateNewClass: Error, bad version numbers.\n");
SOM_Error(SOMERROR_BadVersion);
}
/* Don't do anything if class object is already created. */
if (FileStateClassData.classObject != (SOMAny *) NULL)
return(FileStateClassData.classObject);
/* Make sure the environment is initialized. */
if (SOMClassMgrObject == (SOMAny *) NULL) somEnvironmentNew();
if (SOMClassMgrObject == (SOMAny *) NULL)
SOM_Error(SOMERROR_CouldNotStartup);
/* Get the parent class object. */
WPAbstractNewClass(1,1); /* static reference */
pClsObj = _somFindClass(SOMClassMgrObject,
SOM_IdFromString("WPAbstract"), 1, 1);
if (pClsObj == (SOMClass *) NULL)
SOM_Error(SOMERROR_NoParentClass);
/* Explicit metaclass, so get it */
M_FileStateNewClass(0,0); /* static reference */
mClsObj = _somFindClass(SOMClassMgrObject,
SOM_IdFromString("M_FileState"), 0, 0);
if (mClsObj == (SOMClass *) NULL)
SOM_Error(SOMERROR_NoMetaClass);
somConstructClass(FileStatesomCreateClass, pClsObj, mClsObj,
&FileStatetempClassData);
return (FileStateClassData.classObject);
}
#endif /* FileState_Class_Source */
#endif /* FileStat_ih */
/*
* This file was generated by the SOM Compiler.
* FileName: filestat.ih.
* Generated using:
* SOM Precompiler spc: 1.22
* SOM Emitter emitih: 1.60
*/
#ifndef FileStat_mih
#define FileStat_mih
/*
* Set the scope of methods functions
*/
#ifndef SOM_Scope
#ifdef __cplusplus
#define SOM_Scope extern "C"
#else
#define SOM_Scope extern
#endif
#endif
#ifndef SOM_CurrentClass
#define SOM_CurrentClass M_FileStateCClassData.parentMtab
#endif
#define M_FileState_MaxNoMethods 0
/*
* Instance data
*/
typedef void M_FileStateData;
/*
* Trace/Debug macro
*/
#ifndef M_FileStateMethodDebug
#define M_FileStateMethodDebug(c,m) SOMMethodDebug(c,m)
#endif
/*
* Begin stuff that only goes in the primary file
*/
#ifdef M_FileState_Class_Source
/*
* Current class macros for Instance and Meta classes.
*/
/*
* Generate the Apply Stubs.
*/
/*
* Overridden method: wpclsInitData
*/
#pragma linkage(FileStatC_wpclsInitData, system)
SOM_Scope void SOMLINK FileStatC_wpclsInitData(M_FileState *somSelf);
#ifndef parent_wpclsInitData
static char *somMN_wpclsInitData = "wpclsInitData";
static somId somId_wpclsInitData = &somMN_wpclsInitData;
#define parent_wpclsInitData(somSelf) \
((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsInitData)) \
(somSelf))
#endif
#define M_FileStateParent_wpclsInitData parent_wpclsInitData
/*
* Overridden method: wpclsUnInitData
*/
#pragma linkage(FileStatC_wpclsUnInitData, system)
SOM_Scope void SOMLINK FileStatC_wpclsUnInitData(M_FileState *somSelf);
#ifndef parent_wpclsUnInitData
static char *somMN_wpclsUnInitData = "wpclsUnInitData";
static somId somId_wpclsUnInitData = &somMN_wpclsUnInitData;
#define parent_wpclsUnInitData(somSelf) \
((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsUnInitData)) \
(somSelf))
#endif
#define M_FileStateParent_wpclsUnInitData parent_wpclsUnInitData
/*
* Temporary class data structure used only in class creation
*/
static somClassDataStructure M_FileStatetempClassData;
/*
* Initialize the class data structure
*/
struct M_FileStateClassDataStructure M_FileStateClassData = {(SOMAny *) NULL};
/*
* Define the C class data structure
*/
struct M_FileStateCClassDataStructure M_FileStateCClassData = {(somMethodTab *) NULL};
/*
* Routines to create the class object
*/
/*
* Declare the Override Methods table.
*/
static somOverrideMethod_t M_FileStateOM[] = {
{ &somId_wpclsInitData,
(somMethodProc *) FileStatC_wpclsInitData },
{ &somId_wpclsUnInitData,
(somMethodProc *) FileStatC_wpclsUnInitData },
};
static void M_FileStatesomInitializeClass (void)
{
int i;
somOverrideMethod_t *omp;
/*
* Override methods.
*/
for (omp = M_FileStateOM, i = 0; i < 2; omp++, i++)
_somOverrideSMethod (M_FileStatetempClassData.classObject,
*(omp->methodId), omp->method);
}
#pragma linkage(M_FileStatesomCreateClass, system)
static void SOMLINK M_FileStatesomCreateClass(SOMClass *pClsObj,
SOMClass *mClsObj)
{
M_FileStatetempClassData.classObject = _somNew (mClsObj);
_somInitClass (M_FileStatetempClassData.classObject,
"M_FileState",
pClsObj,
0,
M_FileState_MaxNoMethods,
M_FileState_MajorVersion,
M_FileState_MinorVersion);
M_FileStateCClassData.instanceDataToken =
_somGetInstanceToken(M_FileStatetempClassData.classObject);
M_FileStatesomInitializeClass();
M_FileStateCClassData.parentMtab =
_somGetPClsMtab(M_FileStatetempClassData.classObject);
_somSetClassData(M_FileStatetempClassData.classObject, (somClassDataStructure *)&M_FileStateClassData);
_somClassReady(M_FileStatetempClassData.classObject);
/* make newly created class object visible */
M_FileStateClassData.classObject = M_FileStatetempClassData.classObject;
}
M_FileState * SOMLINK M_FileStateNewClass (integer4 scemajorVersion,
integer4 sceminorVersion)
{
SOMClass *pClsObj;
SOMClass *mClsObj;
/* Check the version numbers */
if (((scemajorVersion != 0) &&
(scemajorVersion != M_FileState_MajorVersion)) ||
((sceminorVersion != 0) &&
(sceminorVersion > M_FileState_MinorVersion))) {
somPrintf("M_FileStateNewClass: Error, bad version numbers.\n");
SOM_Error(SOMERROR_BadVersion);
}
/* Don't do anything if class object is already created. */
if (M_FileStateClassData.classObject != (SOMAny *) NULL)
return(M_FileStateClassData.classObject);
/* Make sure the environment is initialized. */
if (SOMClassMgrObject == (SOMAny *) NULL) somEnvironmentNew();
if (SOMClassMgrObject == (SOMAny *) NULL)
SOM_Error(SOMERROR_CouldNotStartup);
/* Get the parent class object. */
M_WPAbstractNewClass(1,1); /* static reference */
pClsObj = _somFindClass(SOMClassMgrObject,
SOM_IdFromString("M_WPAbstract"), 1, 1);
if (pClsObj == (SOMClass *) NULL)
SOM_Error(SOMERROR_NoParentClass);
/* Use parent's metaclass */
mClsObj = SOM_GetClass(pClsObj);
somConstructClass(M_FileStatesomCreateClass, pClsObj, mClsObj,
&M_FileStatetempClassData);
return (M_FileStateClassData.classObject);
}
#endif /* M_FileState_Class_Source */
#endif /* FileStat_ih */