gre/dde.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  *
00003  * GRE interface to the MicroImages Windows Shell Namespace Extention
00004  *
00005  * $Log: dde.h_v $
00006  * Revision 1.7  2005/10/27 12:59:31  mju
00007  * Use gre namespace instead of legacy type.
00008  *
00009  * Revision 1.6  2005/06/08 13:40:36  dwilliss
00010  * added two new command enum values
00011  *
00012  * Revision 1.5  2005/05/02 15:16:20  dwilliss
00013  * Changed the message to allow multiple objects
00014  *
00015  * Revision 1.4  2005/04/29 22:24:31  dwilliss
00016  * *** empty log message ***
00017  *
00018  * Revision 1.3  2005/04/28 17:57:19  dwilliss
00019  * *** empty log message ***
00020  *
00021  * Revision 1.2  2005/04/27 20:30:43  dwilliss
00022  * *** empty log message ***
00023  *
00024  * Revision 1.1  2005/04/27 20:29:08  dwilliss
00025  * Initial revision
00026  *
00027  ****************************************************************************/
00028 
00029 #ifndef INC_GRE_DDE_H
00030 #define INC_GRE_DDE_H
00031 
00032 #ifndef INC_MI32_STDDEFNS_H
00033 #include <mi32/stddefns.h>
00034 #endif
00035 
00036 #ifndef INC_GRE_SYSTEM_H
00037 #include <gre/system.h>
00038 #endif
00039 
00040 namespace GRE {
00041 #ifdef WIN32
00042    //! Initialize the interface between GRE and the Windows Shell Namespace Extension.
00043    //! Windows only (obviously)
00044    void WindowsNamespaceInterfaceInit();
00045 
00046    //! Shutdown the interface between GRE and the Windows Shell Namespace Extension.
00047    //! Windows only (obviously)
00048    void WindowsNamespaceInterfaceStop();
00049 
00050    void WindowsNamespaceInterfaceSetOpenFunc (
00051       ERRVALUE (*pFunc)(GRE::SYSTEM::AUTOOPEN, const RVC::OBJITEMLIST&)
00052       );
00053 
00054    //! A structure passed from the Windows Shell Namespace Extention to GRE
00055    //! via a DDE message.  This structure cannot contain any pointers, as
00056    //! they would not work from one process' address space to another's
00057    struct DDEMSG {
00058       enum COMMAND {
00059          COMMAND_Open = 0,
00060          COMMAND_Edit = 1,
00061          COMMAND_QueryOpen = 2,
00062          COMMAND_QueryEdit = 3
00063          };
00064 
00065       UINT32 version;      //!< Version of this structure (currently 1)
00066       COMMAND cmd;         //!< One of the DDEMSG::COMMAND values
00067       PTRINT hWnd;         //!< HWND associated with the group.   
00068       UINT32 NumObjects;
00069       UINT32 Offsets[1];   //!< Offsets from start of DDEMSG to each object, which will be encoded as a null-terminated unicode string (OBJITEM::GetCombinedPath()).
00070       };
00071 
00072 #endif
00073    } // End of GRE namespace
00074 
00075 
00076 
00077 #endif  // INC_GRE_GRECOM_H

Generated on Thu Apr 26 04:03:31 2007 for TNTsdk by  doxygen 1.5.2