1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 /**************************************************************
22  *
23  * Licensed to the Apache Software Foundation (ASF) under one
24  * or more contributor license agreements.  See the NOTICE file
25  * distributed with this work for additional information
26  * regarding copyright ownership.  The ASF licenses this file
27  * to you under the Apache License, Version 2.0 (the
28  * "License"); you may not use this file except in compliance
29  * with the License.  You may obtain a copy of the License at
30  *
31  *   http://www.apache.org/licenses/LICENSE-2.0
32  *
33  * Unless required by applicable law or agreed to in writing,
34  * software distributed under the License is distributed on an
35  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
36  * KIND, either express or implied.  See the License for the
37  * specific language governing permissions and limitations
38  * under the License.
39  *
40  *************************************************************/
41 /**************************************************************
42  *
43  * Licensed to the Apache Software Foundation (ASF) under one
44  * or more contributor license agreements.  See the NOTICE file
45  * distributed with this work for additional information
46  * regarding copyright ownership.  The ASF licenses this file
47  * to you under the Apache License, Version 2.0 (the
48  * "License"); you may not use this file except in compliance
49  * with the License.  You may obtain a copy of the License at
50  *
51  *   http://www.apache.org/licenses/LICENSE-2.0
52  *
53  * Unless required by applicable law or agreed to in writing,
54  * software distributed under the License is distributed on an
55  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
56  * KIND, either express or implied.  See the License for the
57  * specific language governing permissions and limitations
58  * under the License.
59  *
60  *************************************************************/
61 /**************************************************************
62  *
63  * Licensed to the Apache Software Foundation (ASF) under one
64  * or more contributor license agreements.  See the NOTICE file
65  * distributed with this work for additional information
66  * regarding copyright ownership.  The ASF licenses this file
67  * to you under the Apache License, Version 2.0 (the
68  * "License"); you may not use this file except in compliance
69  * with the License.  You may obtain a copy of the License at
70  *
71  *   http://www.apache.org/licenses/LICENSE-2.0
72  *
73  * Unless required by applicable law or agreed to in writing,
74  * software distributed under the License is distributed on an
75  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
76  * KIND, either express or implied.  See the License for the
77  * specific language governing permissions and limitations
78  * under the License.
79  *
80  *************************************************************/
81 // XMergeFilter.h: interface for the CXMergeFilter class.
82 //
83 //////////////////////////////////////////////////////////////////////
84 
85 #if !defined(AFX_XMERGEFILTER_H__25C39F6B_A1D7_408E_8F58_9CBEE9A666CC__INCLUDED_)
86 #define AFX_XMERGEFILTER_H__25C39F6B_A1D7_408E_8F58_9CBEE9A666CC__INCLUDED_
87 
88 #if _MSC_VER > 1000
89 #pragma once
90 #endif // _MSC_VER > 1000
91 
92 
93 
94 
95 
96 class CXMergeFilter : public ICeFileFilter
97 {
98 protected:
99 	long m_cRef;
100 
101 private:
102 	TCHAR* GetXMergeClassPath();
103 	TCHAR* GetJavaBaseDir();
104 
105 	TCHAR* m_szJavaBaseDir;
106 	TCHAR* m_szClasspath;
107 
108 	BOOL m_bHaveExcel;
109 	BOOL m_bHaveWord;
110 
111 
112 public:
113 	static const LPTSTR m_pszPSWExportCLSID;
114 	static const LPTSTR m_pszPSWExportExt;
115 	static const LPTSTR m_pszPSWExportDesc;
116 	static const LPTSTR m_pszPSWExportShortDesc;
117 
118 	static const LPTSTR m_pszPSWImportCLSID;
119 	static const LPTSTR m_pszPSWImportExt;
120 	static const LPTSTR m_pszPSWImportDesc;
121 	static const LPTSTR m_pszPSWImportShortDesc;
122 
123 	static const LPTSTR m_pszPXLExportCLSID;
124 	static const LPTSTR m_pszPXLExportExt;
125 	static const LPTSTR m_pszPXLExportDesc;
126 	static const LPTSTR m_pszPXLExportShortDesc;
127 
128 	static const LPTSTR m_pszPXLImportCLSID;
129 	static const LPTSTR m_pszPXLImportExt;
130 	static const LPTSTR m_pszPXLImportDesc;
131 	static const LPTSTR m_pszPXLImportShortDesc;
132 
133 public:
134 	CXMergeFilter();
135 	virtual ~CXMergeFilter();
136 
137 
138 	/********** IUnknown methods **********/
139 	STDMETHODIMP			QueryInterface(REFIID iid, void **ppvObject);
140 	STDMETHODIMP_(ULONG)	AddRef();
141 	STDMETHODIMP_(ULONG)	Release();
142 
143 	/********** ICeFileFilter methods *********/
144 	STDMETHODIMP			FilterOptions(HWND hwndParent);
145 	STDMETHODIMP			FormatMessage(DWORD dwFlags, DWORD dwMessageId, DWORD dwLanguageId,
146 										  LPTSTR lpBuffer, DWORD nSize, va_list *Arguments, DWORD *pcb);
147 	STDMETHODIMP			NextConvertFile(int nConversion, CFF_CONVERTINFO *pci,
148 											CFF_SOURCEFILE *psf, CFF_DESTINATIONFILE *pdf,
149 											volatile BOOL *pbCancel, CF_ERROR *perr);
150 
151 };
152 
153 #endif // !defined(AFX_XMERGEFILTER_H__25C39F6B_A1D7_408E_8F58_9CBEE9A666CC__INCLUDED_)
154