#if !defined(WPSPTRS) && !defined(WPSREFS)
   #define WPSPTRS
#endif

#ifndef WPAbstract_Source
#define WPAbstract_Source

#include <wpobject.hh>
#pragma off(dts_class);
#pragma on(somobject_assignment_operators);
#pragma on(somobject_constructors);
#pragma on(somobject_destructor);
#pragma off(case_insensitive_class_names);

#pragma on(som_bindings);
class WPAbstract : public WPObject {

     #pragma SOMMap (WPAbstract, "WPAbstract", "M_WPAbstract")

     #pragma SOMClassVersion (WPAbstract, 1, 2)

     #pragma SOMCallstyle (WPAbstract, oidl)

     #pragma off(som_bindings);
     #pragma pop(som_bindings);
  public :

#pragma off(use_override_signature)
     virtual HOBJECT wpQueryHandle();
     virtual BOOL wpSaveImmediate();
     virtual BOOL wpSaveState();
     virtual BOOL wpRestoreState(ULONG ulReserved);
     virtual BOOL wpSetTitle(PSZ pszNewTitle);
#if defined(WPSREFS)
     virtual WPObject* wpCopyObject(WPFolder& Folder, BOOL fLock);
#else
     virtual WPObject* wpCopyObject(WPFolder* Folder, BOOL fLock);
#endif
#if defined(WPSREFS)
     virtual BOOL wpMoveObject(WPFolder& Folder);
#else
     virtual BOOL wpMoveObject(WPFolder* Folder);
#endif
     virtual ULONG wpQueryIconData(PICONINFO pIconInfo);
     virtual BOOL wpSetIconData(PICONINFO pIconInfo);
     virtual MRESULT wpDragOver(HWND hwndCnr, PDRAGINFO pdrgInfo);
#if defined(WPSREFS)
     virtual BOOL32 wpReplaceObject(WPObject& targetObject, BOOL32 fMove);
#else
     virtual BOOL32 wpReplaceObject(WPObject* targetObject, BOOL32 fMove);
#endif
     virtual ULONG wpQueryNameClashOptions(ULONG menuID);
#pragma pop(use_override_signature)

     #pragma SOMReleaseOrder ()

};
#pragma pop(som_bindings);

#pragma pop(dts_class);
#pragma pop(somobject_assignment_operators);
#pragma pop(somobject_constructors);
#pragma pop(somobject_destructor);
#pragma pop(case_insensitive_class_names);
#endif /* WPAbstract_Source */

#ifndef M_WPAbstract_Source
#define M_WPAbstract_Source

#include <wpobject.hh>
#include <somcls.hh>
#pragma off(dts_class);
#pragma on(somobject_assignment_operators);
#pragma on(somobject_constructors);
#pragma on(somobject_destructor);
#pragma off(case_insensitive_class_names);

#pragma on(som_bindings);
class M_WPAbstract : public M_WPObject {

     #pragma SOMClassVersion (M_WPAbstract, 1, 2)

     #pragma SOMCallstyle (M_WPAbstract, oidl)

     #pragma off(som_bindings);
     #pragma pop(som_bindings);
  public :

#pragma off(use_override_signature)
     virtual PSZ wpclsQueryTitle();
#pragma pop(use_override_signature)

     #pragma SOMReleaseOrder ( \
                              *, \
                              *, \
                              *)
};
#pragma pop(som_bindings);

#pragma pop(dts_class);
#pragma pop(somobject_assignment_operators);
#pragma pop(somobject_constructors);
#pragma pop(somobject_destructor);
#pragma pop(case_insensitive_class_names);
#endif /* M_WPAbstract_Source */

