home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Controls / Visual Basic Controls.iso / vbcontrol / sregexpf / regexp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-06-02  |  1.5 KB  |  50 lines

  1.  
  2. #ifndef __sgRegExp_H_
  3. #define __sgRegExp_H_
  4.  
  5. #include "resource.h"
  6. #include "clsRegExp.h"
  7. #include "Substrings.h"
  8.  
  9.  
  10.  
  11. class ATL_NO_VTABLE sgRegExp : 
  12.     public CComObjectRootEx<CComSingleThreadModel>,
  13.     public CComCoClass<sgRegExp, &CLSID_RegExp>,
  14.     public ISupportErrorInfo,
  15.     public IDispatchImpl<IsgRegExp, &IID_IsgRegExp, &LIBID_sgRegExp>
  16. {
  17. public:
  18.     sgRegExp();
  19.     ~sgRegExp();
  20.  
  21. DECLARE_REGISTRY_RESOURCEID(IDR_SGREGEXP)
  22.  
  23. BEGIN_COM_MAP(sgRegExp)
  24.     COM_INTERFACE_ENTRY(IsgRegExp)
  25.     COM_INTERFACE_ENTRY(IDispatch)
  26.     COM_INTERFACE_ENTRY(ISupportErrorInfo)
  27. END_COM_MAP()
  28.  
  29.     // ISupportsErrorInfo
  30.     STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  31.  
  32.     // IsgRegExp
  33.     STDMETHOD(put_Expression)(/*[in]*/ BSTR expr);
  34.     STDMETHOD(get_Expression)(/*[out, retval]*/ BSTR* expr);
  35.     STDMETHOD(put_IgnoreCase)(/*[in]*/ VARIANT_BOOL ignoreCase);
  36.     STDMETHOD(get_IgnoreCase)(/*[out, retval]*/ VARIANT_BOOL* ignoreCase);
  37.     STDMETHOD(Match)(/*[in]*/ BSTR data, /*[in, optional, defaultvalue(-1)]*/ VARIANT startPos, /*[out, retval]*/ VARIANT_BOOL* res);
  38.     STDMETHOD(get_ReplaceString)(/*[in]*/ BSTR source, /*[out, retval]*/ BSTR* res);
  39.     STDMETHOD(get_CompiledOK)(/*[out, retval]*/ VARIANT_BOOL* res);
  40.     STDMETHOD(get_Substrings)(/*[out, retval]*/ ISubstrings** res);
  41.  
  42. private:
  43.     str_t        m_sRegExpr;        // Current regular expression
  44.     str_t        m_sData;            // Parsed data
  45.     bool        m_bCase;            // Current case sensitivity state
  46.     Regexp*    m_RegExp;        // Regular expression object
  47. };
  48.  
  49. #endif //__sgRegExp_H_
  50.