Added: 
openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/EnumVariant.h
URL: 
http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/EnumVariant.h?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/EnumVariant.h 
(added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/EnumVariant.h 
Wed Dec 12 04:41:12 2012
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __ENUMVARIANT_H_
+#define __ENUMVARIANT_H_
+
+#define WNT
+
+#include "resource.h"       // main symbols
+#include <com/sun/star/accessibility/XAccessible.hpp>
+#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
+#include "UAccCOM2.h"
+#include <AccObjectManagerAgent.hxx>
+
+using namespace com::sun::star::accessibility;
+using namespace com::sun::star::uno;
+
+#include <vector>
+#include <algorithm>
+using namespace std;
+
+/**
+ * CEnumVariant implements IEnumVARIANT interface.
+ */
+class ATL_NO_VTABLE CEnumVariant :
+            public CComObjectRootEx<CComMultiThreadModel>,
+            public CComCoClass<CEnumVariant, &CLSID_EnumVariant>,
+            public IDispatchImpl<IEnumVariant, &IID_IEnumVariant, 
&LIBID_UACCCOMLib>
+{
+public:
+    CEnumVariant()
+            :m_lLBound(0),
+            pUNOInterface(NULL),
+            m_pXAccessibleSelection(NULL)
+    {
+        m_lCurrent = m_lLBound;
+    }
+
+       virtual ~CEnumVariant() {};
+
+    DECLARE_REGISTRY_RESOURCEID(IDR_ENUMVARIANT)
+
+    DECLARE_PROTECT_FINAL_CONSTRUCT()
+
+    BEGIN_COM_MAP(CEnumVariant)
+    COM_INTERFACE_ENTRY(IEnumVariant)
+    COM_INTERFACE_ENTRY(IEnumVARIANT)
+    END_COM_MAP()
+
+    // IEnumVariant
+public:
+
+    STDMETHOD(ClearEnumeration)();
+
+    // IEnumVARIANT
+
+    //
+    HRESULT STDMETHODCALLTYPE Next(ULONG cElements,VARIANT __RPC_FAR 
*pvar,ULONG __RPC_FAR *pcElementFetched);
+
+    //
+    HRESULT STDMETHODCALLTYPE Skip(ULONG cElements);
+
+    //
+    HRESULT STDMETHODCALLTYPE Reset( void);
+
+    //
+    HRESULT STDMETHODCALLTYPE Clone(IEnumVARIANT __RPC_FAR *__RPC_FAR *ppenum);
+
+    // IEnumVariant
+
+    //
+    HRESULT STDMETHODCALLTYPE PutSelection(long pXSelection);
+
+    //
+    static HRESULT STDMETHODCALLTYPE Create(CEnumVariant __RPC_FAR *__RPC_FAR 
*ppenum);
+
+    //
+    long GetCountOfElements();
+
+private:
+
+    long m_lCurrent;
+    long m_lLBound;
+    XAccessible* pUNOInterface;                                                
// XAccessible.
+    Reference<XAccessibleSelection> m_pXAccessibleSelection;   // Selection.
+};
+
+#endif //__ENUMVARIANT_H_

Added: 
openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/EnumVariant.rgs
URL: 
http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/EnumVariant.rgs?rev=1420522&view=auto
==============================================================================
--- 
openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/EnumVariant.rgs 
(added)
+++ 
openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/EnumVariant.rgs 
Wed Dec 12 04:41:12 2012
@@ -0,0 +1,26 @@
+HKCR
+{
+       UAccCOM.EnumVariant.1 = s 'EnumVariant Class'
+       {
+               CLSID = s '{152884E0-268B-4481-9AE7-1B372D3AA97F}'
+       }
+       UAccCOM.EnumVariant = s 'EnumVariant Class'
+       {
+               CLSID = s '{152884E0-268B-4481-9AE7-1B372D3AA97F}'
+               CurVer = s 'UAccCOM.EnumVariant.1'
+       }
+       NoRemove CLSID
+       {
+               ForceRemove {152884E0-268B-4481-9AE7-1B372D3AA97F} = s 
'EnumVariant Class'
+               {
+                       ProgID = s 'UAccCOM.EnumVariant.1'
+                       VersionIndependentProgID = s 'UAccCOM.EnumVariant'
+                       ForceRemove 'Programmable'
+                       InprocServer32 = s '%MODULE%'
+                       {
+                               val ThreadingModel = s 'Both'
+                       }
+                       'TypeLib' = s '{19ECB1B0-9376-4FF9-B580-223FC9C200B8}'
+               }
+       }
+}


Reply via email to