home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 39 / IOPROG_39.ISO / SOFT / sdkjava40.exe / data1.cab / fg_Samples / Samples / Native / JView / javaprop.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  2000-05-04  |  1.5 KB  |  63 lines

  1. /*++
  2.  
  3. (C) Copyright 1995 - 1999 Microsoft Corporation.  All rights reserved.
  4.  
  5. Module Name:
  6.  
  7.     javaprop.hpp
  8.  
  9. Abstract:
  10.  
  11.     Contains the CEnumJAVAPROPERTY class definition.
  12.  
  13. --*/
  14.  
  15. #ifndef __CJAVAPROP_HPP__
  16. #define __CJAVAPROP_HPP__
  17.  
  18. #include "javaexec.h"
  19.  
  20. // Linked list node to keep track of a single property.
  21.  
  22. typedef struct _JAVAPROPLINK  JAVAPROPLink, *LPJAVAPROPLink;
  23.  
  24. struct _JAVAPROPLINK
  25. {
  26.     LPOLESTR        pszKey;
  27.     LPOLESTR        pszValue;
  28.     LPJAVAPROPLink  pNext;
  29. };
  30.  
  31. // Property enumeration interface suitable for use with
  32. // IJavaExecute2::SetSystemProperties
  33.  
  34. class CEnumJAVAPROPERTY : public IEnumJAVAPROPERTY
  35. {
  36.     private:
  37.         ULONG          m_cRef;
  38.  
  39.         LPJAVAPROPLink m_pPropList;     // List of properties.
  40.         ULONG          m_cProperties;   // # of properties in list.
  41.         LPJAVAPROPLink m_pCurProp;      // Current property.
  42.  
  43.     public:
  44.         CEnumJAVAPROPERTY();
  45.         ~CEnumJAVAPROPERTY();
  46.  
  47.         BOOL Add( char *pszKeyAndValue );
  48.  
  49.         //  IUnknown methods
  50.         STDMETHOD(QueryInterface)(REFIID riid, LPVOID *ppvObj);
  51.         STDMETHOD_(ULONG, AddRef)();
  52.         STDMETHOD_(ULONG, Release)();
  53.  
  54.         //  IEnumJAVAPROPERTY methods
  55.         STDMETHOD(Next)(ULONG celt, LPJAVAPROPERTY rgelt, ULONG *pceltFetched);
  56.         STDMETHOD(Skip)(ULONG celt);
  57.         STDMETHOD(Reset)();
  58.         STDMETHOD(Clone)(LPENUMJAVAPROPERTY *ppenum);
  59. };
  60.  
  61. #endif  /* ! __CJAVAPROP_HPP__ */
  62.  
  63.