diff options
Diffstat (limited to 'xmerge/source/activesync')
-rw-r--r-- | xmerge/source/activesync/BIN/xmergesync.dll | bin | 86016 -> 0 bytes | |||
-rw-r--r-- | xmerge/source/activesync/XMergeFactory.cpp | 104 | ||||
-rw-r--r-- | xmerge/source/activesync/XMergeFactory.h | 55 | ||||
-rw-r--r-- | xmerge/source/activesync/XMergeFilter.cpp | 501 | ||||
-rw-r--r-- | xmerge/source/activesync/XMergeFilter.h | 94 | ||||
-rw-r--r-- | xmerge/source/activesync/XMergeSync.cpp | 850 | ||||
-rw-r--r-- | xmerge/source/activesync/XMergeSync.def | 9 | ||||
-rw-r--r-- | xmerge/source/activesync/XMergeSync.dsp | 143 | ||||
-rw-r--r-- | xmerge/source/activesync/XMergeSync.dsw | 33 | ||||
-rw-r--r-- | xmerge/source/activesync/XMergeSync.h | 49 | ||||
-rw-r--r-- | xmerge/source/activesync/XMergeSync.rc | 66 | ||||
-rw-r--r-- | xmerge/source/activesync/exports.map | 29 | ||||
-rw-r--r-- | xmerge/source/activesync/guids.txt | 60 | ||||
-rw-r--r-- | xmerge/source/activesync/makefile.mk | 62 | ||||
-rw-r--r-- | xmerge/source/activesync/resource.h | 38 | ||||
-rw-r--r-- | xmerge/source/activesync/stdafx.cpp | 27 | ||||
-rw-r--r-- | xmerge/source/activesync/stdafx.h | 48 |
17 files changed, 0 insertions, 2168 deletions
diff --git a/xmerge/source/activesync/BIN/xmergesync.dll b/xmerge/source/activesync/BIN/xmergesync.dll Binary files differdeleted file mode 100644 index 768dea87d2bd..000000000000 --- a/xmerge/source/activesync/BIN/xmergesync.dll +++ /dev/null diff --git a/xmerge/source/activesync/XMergeFactory.cpp b/xmerge/source/activesync/XMergeFactory.cpp deleted file mode 100644 index 486d128fc3a3..000000000000 --- a/xmerge/source/activesync/XMergeFactory.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -// XMergeFactory.cpp: implementation of the CXMergeFactory class. -// -////////////////////////////////////////////////////////////////////// - -#include "stdafx.h" - -#include "XMergeFilter.h" -#include "XMergeFactory.h" - -////////////////////////////////////////////////////////////////////// -// IUnknown implementation -////////////////////////////////////////////////////////////////////// -STDMETHODIMP CXMergeFactory::QueryInterface(REFIID riid, void **ppvObject) -{ - if(ppvObject == NULL) - return E_INVALIDARG; - - if(::IsEqualIID(riid, IID_IUnknown) || ::IsEqualIID(riid, IID_IClassFactory)) - { - *ppvObject = static_cast<IClassFactory*>(this); - } - else - { - *ppvObject = NULL; - return E_NOINTERFACE; - } - - reinterpret_cast<IUnknown*>(*ppvObject)->AddRef(); - return S_OK; -} - - -STDMETHODIMP_(ULONG) CXMergeFactory::AddRef() -{ - return ::InterlockedIncrement(&m_cRef); -} - - -STDMETHODIMP_(ULONG) CXMergeFactory::Release() -{ - if(::InterlockedDecrement(&m_cRef) == 0) - { - delete this; - return 0; - } - - return m_cRef; -} - - -////////////////////////////////////////////////////////////////////// -// IUnknown implementation -////////////////////////////////////////////////////////////////////// -STDMETHODIMP CXMergeFactory::CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppvObject) -{ - if (ppvObject == NULL) - return E_INVALIDARG; - - if (pUnkOuter != NULL) // cannot aggregate - { - *ppvObject = NULL; - return CLASS_E_NOAGGREGATION; - } - - if (iid == IID_ICeFileFilter) - { - CXMergeFilter *pFilter = new CXMergeFilter(); - HRESULT hr = pFilter->QueryInterface(iid, ppvObject); - pFilter->Release(); - - return hr; - } - - return E_INVALIDARG; -} - - -STDMETHODIMP CXMergeFactory::LockServer(BOOL fLock) -{ - _Module.LockServer(fLock); - return S_OK; -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmerge/source/activesync/XMergeFactory.h b/xmerge/source/activesync/XMergeFactory.h deleted file mode 100644 index 640bc5638c3e..000000000000 --- a/xmerge/source/activesync/XMergeFactory.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -// XMergeFactory.h: interface for the CXMergeFactory class. -// -////////////////////////////////////////////////////////////////////// - -#if !defined(AFX_XMERGEFACTORY_H__3150043C_57FB_4BC8_9104_379506FA6B9F__INCLUDED_) -#define AFX_XMERGEFACTORY_H__3150043C_57FB_4BC8_9104_379506FA6B9F__INCLUDED_ - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - - -class CXMergeFactory : public IClassFactory -{ -private: - LONG m_cRef; - virtual ~CXMergeFactory() {}; - -public: - CXMergeFactory() : m_cRef(1) {}; // Set reference count when first created - - - /********** IUnknown methods **********/ - STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject); - STDMETHODIMP_(ULONG) AddRef(void); - STDMETHODIMP_(ULONG) Release(); - - - /********** IUnknown methods **********/ - STDMETHODIMP CreateInstance(IUnknown* pUnkOuter, REFIID riid, void **ppvObject); - STDMETHODIMP LockServer(BOOL fLock); -}; - -#endif // !defined(AFX_XMERGEFACTORY_H__3150043C_57FB_4BC8_9104_379506FA6B9F__INCLUDED_) - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmerge/source/activesync/XMergeFilter.cpp b/xmerge/source/activesync/XMergeFilter.cpp deleted file mode 100644 index e7d1a91e2cce..000000000000 --- a/xmerge/source/activesync/XMergeFilter.cpp +++ /dev/null @@ -1,501 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -// XMergeFilter.cpp: implementation of the CXMergeFilter class. -// -////////////////////////////////////////////////////////////////////// - - -#include "stdafx.h" - -#include "XMergeFilter.h" - -#include <string> - - -#define ERR_NOJAVA 1 -#define ERR_BADCLASSPATH 2 -#define ERR_INITJAVA 3 - - -const LPTSTR CXMergeFilter::m_pszPSWExportCLSID = _T("{BDD611C3-7BAB-460F-8711-5B9AC9EF6020}"); -const LPTSTR CXMergeFilter::m_pszPSWExportExt = _T("sxw"); -const LPTSTR CXMergeFilter::m_pszPSWExportDesc = _T("OpenOffice.org Writer XML Document"); -const LPTSTR CXMergeFilter::m_pszPSWExportShortDesc = _T("OpenOffice.org Writer"); - -const LPTSTR CXMergeFilter::m_pszPSWImportCLSID = _T("{CB43F086-838D-4FA4-B5F6-3406B9A57439}"); -const LPTSTR CXMergeFilter::m_pszPSWImportExt = _T("psw"); -const LPTSTR CXMergeFilter::m_pszPSWImportDesc = _T("Pocket Word Document - Pocket PC"); -const LPTSTR CXMergeFilter::m_pszPSWImportShortDesc = _T("Pocket Word"); - -const LPTSTR CXMergeFilter::m_pszPXLExportCLSID = _T("{C6AB3E74-9F4F-4370-8120-A8A6FABB7A7C}"); -const LPTSTR CXMergeFilter::m_pszPXLExportExt = _T("sxc"); -const LPTSTR CXMergeFilter::m_pszPXLExportDesc = _T("OpenOffice.org Calc XML Document"); -const LPTSTR CXMergeFilter::m_pszPXLExportShortDesc = _T("OpenOffice.org Calc"); - -const LPTSTR CXMergeFilter::m_pszPXLImportCLSID = _T("{43887C67-4D5D-4127-BAAC-87A288494C7C}"); -const LPTSTR CXMergeFilter::m_pszPXLImportExt = _T("pxl"); -const LPTSTR CXMergeFilter::m_pszPXLImportDesc = _T("Pocket Excel Document - Pocket PC"); -const LPTSTR CXMergeFilter::m_pszPXLImportShortDesc = _T("Pocket Excel"); - - -////////////////////////////////////////////////////////////////////// -// Construction/Destruction -////////////////////////////////////////////////////////////////////// - -CXMergeFilter::CXMergeFilter() : m_cRef(1) -{ - m_bHaveExcel = FALSE; - m_bHaveWord = FALSE; - - m_szClasspath = NULL; - m_szJavaBaseDir = NULL; -} - -CXMergeFilter::~CXMergeFilter() -{ - if (m_szClasspath != NULL) - { - delete m_szClasspath; - } - - if (m_szJavaBaseDir != NULL) - { - delete m_szJavaBaseDir; - } - -} - - -////////////////////////////////////////////////////////////////////// -// IUnknown Methods -////////////////////////////////////////////////////////////////////// - -STDMETHODIMP CXMergeFilter::QueryInterface(REFIID riid, void **ppvObject) -{ - if(ppvObject == NULL) - return E_INVALIDARG; - - if (::IsEqualIID(riid, IID_IUnknown)) - { - *ppvObject = static_cast<IUnknown *>(this); - } - else if (::IsEqualIID(riid, IID_ICeFileFilter)) - { - *ppvObject = static_cast<ICeFileFilter *>(this); - } - else - { - *ppvObject = NULL; - return E_NOINTERFACE; - } - - reinterpret_cast<IUnknown *>(*ppvObject)->AddRef(); - return S_OK; -} - - -STDMETHODIMP_(ULONG) CXMergeFilter::AddRef() -{ - return ::InterlockedIncrement(&m_cRef); -} - - -STDMETHODIMP_(ULONG) CXMergeFilter::Release() -{ - if(::InterlockedDecrement(&m_cRef) == 0) - { - delete this; - return 0; - } - return m_cRef; -} - - -////////////////////////////////////////////////////////////////////// -// ICeFileFilter -////////////////////////////////////////////////////////////////////// - -STDMETHODIMP CXMergeFilter::FilterOptions(HWND hwndParent) -{ - // We don't currently allow any options - return HRESULT_FROM_WIN32(NOERROR); -} - -STDMETHODIMP CXMergeFilter::FormatMessage(DWORD dwFlags, DWORD dwMessageId, - DWORD dwLanguageId, LPTSTR lpBuffer, DWORD nSize, - va_list *Arguments, DWORD *pcb) -{ - TCHAR errMsg[1024]; - - HKEY hKey = NULL; - DWORD dwSize = 1024; - - - long lRet = 0; - - // Attempt to find the messages in the registry - lRet = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Sun Microsystems\\StarOffice\\XMergeSync\\Messages\\Error"), - 0, KEY_READ, &hKey); - if (lRet != ERROR_SUCCESS) - { - // Try the user's portion of the registry - lRet = ::RegOpenKeyEx(HKEY_CURRENT_USER, _T("Software\\Sun Microsystems\\StarOffice\\XMergeSync\\Messages\\Error"), - 0, KEY_READ, &hKey); - if (lRet != ERROR_SUCCESS) - { - hKey = NULL; - } - } - - - switch(dwMessageId) - { - case ERR_NOJAVA: - lRet = ::RegQueryValueEx(hKey, _T("Java"), 0, NULL, (LPBYTE)errMsg, &dwSize); - if (lRet != ERROR_SUCCESS) - { - lstrcpy(errMsg, "Unable to locate Java 1.4/1.5 installation."); - } - break; - - case ERR_BADCLASSPATH: - lRet = ::RegQueryValueEx(hKey, _T("Classpath"), 0, NULL, (LPBYTE)errMsg, &dwSize); - if (lRet != ERROR_SUCCESS) - { - lstrcpy(errMsg, "Unable to locate XMerge Jar files."); - } - break; - - case ERR_INITJAVA: - lRet = ::RegQueryValueEx(hKey, _T("JavaInit"), 0, NULL, (LPBYTE)errMsg, &dwSize); - if (lRet != ERROR_SUCCESS) - { - lstrcpy(errMsg, "Error initialising the Java Runtime Environment."); - } - break; - } - - char* buf = (char*)LocalAlloc(LMEM_FIXED | LMEM_ZEROINIT, (lstrlen(errMsg) + 1) * sizeof(TCHAR)); - lstrcpyn(buf, errMsg, lstrlen(errMsg)); - - *(char**)lpBuffer = buf; - *pcb = strlen(errMsg); - - return HRESULT_FROM_WIN32(NOERROR); -} - - -STDMETHODIMP CXMergeFilter::NextConvertFile(int nConversion, CFF_CONVERTINFO *pci, - CFF_SOURCEFILE *psf, CFF_DESTINATIONFILE *pdf, - volatile BOOL *pbCancel, CF_ERROR *perr) -{ - std::string appArgs; - std::string appName; - - STARTUPINFO si; - PROCESS_INFORMATION pi; - - ZeroMemory( &si, sizeof(si) ); - ZeroMemory( &pi, sizeof(pi) ); - - si.cb = sizeof(si); - - - /* - * First step: Locate Java and establish the classpath. If these can't - * be done successfully, then avoid all further processing. - */ - - // Locate Java Home if it hasn't already been done. - if (m_szJavaBaseDir == NULL) - { - m_szJavaBaseDir = GetJavaBaseDir(); - - if (m_szJavaBaseDir == NULL) - { - *perr = ERR_NOJAVA; - return HRESULT_FROM_WIN32(E_FAIL); - } - } - - // Get the StarOffice/OpenOffice class directory - if (m_szClasspath == NULL) - { - m_szClasspath = GetXMergeClassPath(); - - if (m_szClasspath == NULL) - { - *perr = ERR_BADCLASSPATH; - return HRESULT_FROM_WIN32(E_FAIL); - } - } - - - /* - * Second step: Check the files we're going to process. If we don't have - * an XMerge plugin for the file then we can't convert. - */ - if ((!lstrcmp(psf->szExtension, "sxw") || !lstrcmp(psf->szExtension, "psw")) - && !m_bHaveWord) - { - *perr = ERR_BADCLASSPATH; - return HRESULT_FROM_WIN32(E_FAIL); - } - else if ((!lstrcmp(psf->szExtension, "sxc") || !lstrcmp(psf->szExtension, "pxl")) - && !m_bHaveExcel) - { - *perr = ERR_BADCLASSPATH; - return HRESULT_FROM_WIN32(E_FAIL); - } - - - /* - * Third step: Locate the Java executable and build and execute the command - * line to carry out the conversion. - */ - - // Find the Java executable and make sure it exists - appName += m_szJavaBaseDir; - appName += "\\bin\\javaw.exe"; - - if (GetFileAttributes(appName.c_str()) == INVALID_FILE_SIZE) - { - *perr = ERR_NOJAVA; - return HRESULT_FROM_WIN32(E_FAIL); - } - - // Wrap the executable path in quotes in case of spaces - appName.insert(0, "\""); - appName.append("\""); - - - - // Need to build the entire command line for calling out to Java - appArgs = appName + " -Djava.class.path="; - appArgs += m_szClasspath; - appArgs += " org.openoffice.xmerge.util.ActiveSyncDriver "; - - if (!lstrcmp(psf->szExtension, "sxw")) - { - appArgs += "staroffice/sxw "; - appArgs += "application/x-pocket-word "; - } - else if(!lstrcmp(psf->szExtension, "psw")) - { - appArgs += "application/x-pocket-word "; - appArgs += "staroffice/sxw "; - } - else if(!lstrcmp(psf->szExtension, "sxc")) - { - appArgs += "staroffice/sxc "; - appArgs += "application/x-pocket-excel "; - } - else if(!lstrcmp(psf->szExtension, "pxl")) - { - appArgs += "application/x-pocket-excel "; - appArgs += "staroffice/sxc "; - } - - - // ActiveSync sometimes gives out long file names, especially when automatically syncing - appArgs += "\""; - appArgs += psf->szFullpath; - appArgs += "\" \""; - appArgs += pdf->szFullpath; - appArgs += "\""; - - if(!CreateProcess(NULL, - (char*)appArgs.c_str(), - NULL, // No Process Attributes - NULL, // No Thread Attributes - FALSE, // Don't want this process getting handles - CREATE_NO_WINDOW, // No console - NULL, // No special environment - NULL, // Current Working Directory is okay - &si, - &pi)) - { - *perr = ERR_INITJAVA; - return HRESULT_FROM_WIN32(E_FAIL); - } - - // Wait for the new process to work - WaitForSingleObject(pi.hProcess, INFINITE); - - CloseHandle(pi.hProcess); - CloseHandle(pi.hThread); - - return HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS); -} - - -typedef HRESULT (WINAPI *SHGETFOLDERPATH)( HWND, int, HANDLE, DWORD, LPTSTR ); - - -TCHAR* CXMergeFilter::GetJavaBaseDir() -{ - HRESULT lRet; - - HKEY hKey = NULL; - HKEY hDataKey = NULL; - - TCHAR szCurrentJava[_MAX_PATH] = "\0"; - DWORD dwClassName = _MAX_PATH; - DWORD dwKeyName = _MAX_PATH; - - /* - * Java leaves registry keys at HKLM\SOFTWARE\JavaSoft. - * - * Check for a JRE installation first - */ - lRet = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\JavaSoft\\Java Runtime Environment"), 0, KEY_READ, &hKey); - if (lRet != ERROR_SUCCESS) - return NULL; - - // Locations shouldn't be greater than _MAX_PATH - TCHAR* szJavaHome = new TCHAR[_MAX_PATH + 1]; - DWORD dwSize = _MAX_PATH + 1; - - /* use current version */ - lRet = ::RegQueryValueEx(hKey, _T("CurrentVersion"), 0, NULL, (LPBYTE)szCurrentJava, &dwSize); - - lRet = ::RegOpenKeyEx(hKey, _T(szCurrentJava), 0, KEY_READ, &hDataKey); - if (lRet != ERROR_SUCCESS) - { - RegCloseKey(hKey); - delete [] szJavaHome; - return NULL; - } - - - // Now read the JavaHome value - dwSize = _MAX_PATH + 1; - lRet = ::RegQueryValueEx(hDataKey, _T("JavaHome"), 0, NULL, (LPBYTE)szJavaHome, &dwSize); - if (lRet != ERROR_SUCCESS) - { - RegCloseKey(hDataKey); - RegCloseKey(hKey); - delete [] szJavaHome; - return NULL; - } - - RegCloseKey(hDataKey); - RegCloseKey(hKey); - - - // Check that the directory exists before returning it - DWORD dwAttrs = GetFileAttributes(szJavaHome); - - if (((dwAttrs & FILE_ATTRIBUTE_DIRECTORY) != FILE_ATTRIBUTE_DIRECTORY) || dwAttrs == INVALID_FILE_SIZE) - { - delete [] szJavaHome; - return NULL; - } - - return szJavaHome; -} - - - -TCHAR* CXMergeFilter::GetXMergeClassPath() -{ - /* - * The DLL will be installed by setup in the program directory of - * the installation. The XMerge Jar files, if present, will be - * located in the classes directory below program. - */ - - TCHAR szJarPath[MAX_PATH]; - TCHAR szTmpPath[MAX_PATH]; - - ZeroMemory(szJarPath, MAX_PATH); - ZeroMemory(szTmpPath, MAX_PATH); - - WIN32_FILE_ATTRIBUTE_DATA fInfo; - - std::string clsPath; - - - // Get the location of the module. - GetModuleFileName(_Module.m_hInst, szTmpPath, MAX_PATH); - - // Strip off the xmergesync.dll component - _strlwr(szTmpPath); - char* modName = strstr(szTmpPath, "xmergesync.dll"); - strncpy(szJarPath, szTmpPath, modName - szTmpPath); - - // Append the classes directory - strncat(szJarPath, "classes\\", 8); - - - // The core xmerge.jar must be present - ZeroMemory(szTmpPath, MAX_PATH); - _snprintf(szTmpPath, MAX_PATH, "%s%s\0", szJarPath, "xmerge.jar"); - - if (!GetFileAttributesEx(szTmpPath, GetFileExInfoStandard, &fInfo)) - { - return NULL; - } - else - { - clsPath += szTmpPath; - clsPath += ";"; - } - - - // Now check for Pocket Word - ZeroMemory(szTmpPath, MAX_PATH); - _snprintf(szTmpPath, MAX_PATH, "%s%s\0", szJarPath, "pocketword.jar"); - - if (!GetFileAttributesEx(szTmpPath, GetFileExInfoStandard, &fInfo)) - { - m_bHaveWord = FALSE; - } - else - { - m_bHaveWord = TRUE; - clsPath += szTmpPath; - clsPath += ";"; - } - - // Now check for Pocket Excel - ZeroMemory(szTmpPath, MAX_PATH); - _snprintf(szTmpPath, MAX_PATH, "%s%s\0", szJarPath, "pexcel.jar"); - - if (!GetFileAttributesEx(szTmpPath, GetFileExInfoStandard, &fInfo)) - { - m_bHaveExcel = FALSE; - } - else - { - m_bHaveExcel = TRUE; - clsPath += szTmpPath; - clsPath += ";"; - } - - // Quotes may be need around the ClassPath - clsPath.insert(0, "\""); - clsPath += "\""; - - - // Return the data - return _strdup(clsPath.c_str()); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmerge/source/activesync/XMergeFilter.h b/xmerge/source/activesync/XMergeFilter.h deleted file mode 100644 index 9c120500d029..000000000000 --- a/xmerge/source/activesync/XMergeFilter.h +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -// XMergeFilter.h: interface for the CXMergeFilter class. -// -////////////////////////////////////////////////////////////////////// - -#if !defined(AFX_XMERGEFILTER_H__25C39F6B_A1D7_408E_8F58_9CBEE9A666CC__INCLUDED_) -#define AFX_XMERGEFILTER_H__25C39F6B_A1D7_408E_8F58_9CBEE9A666CC__INCLUDED_ - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - - - - - -class CXMergeFilter : public ICeFileFilter -{ -protected: - long m_cRef; - -private: - TCHAR* GetXMergeClassPath(); - TCHAR* GetJavaBaseDir(); - - TCHAR* m_szJavaBaseDir; - TCHAR* m_szClasspath; - - BOOL m_bHaveExcel; - BOOL m_bHaveWord; - - -public: - static const LPTSTR m_pszPSWExportCLSID; - static const LPTSTR m_pszPSWExportExt; - static const LPTSTR m_pszPSWExportDesc; - static const LPTSTR m_pszPSWExportShortDesc; - - static const LPTSTR m_pszPSWImportCLSID; - static const LPTSTR m_pszPSWImportExt; - static const LPTSTR m_pszPSWImportDesc; - static const LPTSTR m_pszPSWImportShortDesc; - - static const LPTSTR m_pszPXLExportCLSID; - static const LPTSTR m_pszPXLExportExt; - static const LPTSTR m_pszPXLExportDesc; - static const LPTSTR m_pszPXLExportShortDesc; - - static const LPTSTR m_pszPXLImportCLSID; - static const LPTSTR m_pszPXLImportExt; - static const LPTSTR m_pszPXLImportDesc; - static const LPTSTR m_pszPXLImportShortDesc; - -public: - CXMergeFilter(); - virtual ~CXMergeFilter(); - - - /********** IUnknown methods **********/ - STDMETHODIMP QueryInterface(REFIID iid, void **ppvObject); - STDMETHODIMP_(ULONG) AddRef(); - STDMETHODIMP_(ULONG) Release(); - - /********** ICeFileFilter methods *********/ - STDMETHODIMP FilterOptions(HWND hwndParent); - STDMETHODIMP FormatMessage(DWORD dwFlags, DWORD dwMessageId, DWORD dwLanguageId, - LPTSTR lpBuffer, DWORD nSize, va_list *Arguments, DWORD *pcb); - STDMETHODIMP NextConvertFile(int nConversion, CFF_CONVERTINFO *pci, - CFF_SOURCEFILE *psf, CFF_DESTINATIONFILE *pdf, - volatile BOOL *pbCancel, CF_ERROR *perr); - -}; - -#endif // !defined(AFX_XMERGEFILTER_H__25C39F6B_A1D7_408E_8F58_9CBEE9A666CC__INCLUDED_) - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmerge/source/activesync/XMergeSync.cpp b/xmerge/source/activesync/XMergeSync.cpp deleted file mode 100644 index 8c8178c8e613..000000000000 --- a/xmerge/source/activesync/XMergeSync.cpp +++ /dev/null @@ -1,850 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include "stdafx.h" - -#include "XMergeFilter.h" -#include "XMergeFactory.h" - - -CXMergeSyncModule _Module; - - -////////////////////////////////////////////////////////////////////// -// DLL Functions -////////////////////////////////////////////////////////////////////// -BOOL WINAPI DllMain(HANDLE hInst, ULONG ulReason, LPVOID lpReserved) -{ - switch (ulReason) - { - case DLL_PROCESS_ATTACH: - _Module.m_hInst = reinterpret_cast<HINSTANCE>(hInst); - break; - - case DLL_PROCESS_DETACH: - _Module.m_hInst = NULL; - break; - - case DLL_THREAD_ATTACH: - break; - - case DLL_THREAD_DETACH: - break; - } - - return TRUE; -} - - -STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) -{ - // Create the factory object - CXMergeFactory *pFactory = new CXMergeFactory(); - HRESULT hr = pFactory->QueryInterface(riid, ppv); - pFactory->Release(); - - return hr; -} - - -STDAPI DllCanUnloadNow() -{ - if (_Module.GetLockCount() == 0) - return S_OK; - - return S_FALSE; -} - - -// Utility function to close open keys during registration -static _signalRegError(long lRet, HKEY hKey, HKEY hDataKey) -{ - if (hKey) - ::RegCloseKey(hKey); - - - if (hDataKey) - ::RegCloseKey(hDataKey); - - return HRESULT_FROM_WIN32(lRet); -} - - -STDAPI DllRegisterServer() -{ - HKEY hKey = NULL; - HKEY hDataKey = NULL; - - long lRet = 0; - TCHAR sTemp[_MAX_PATH + 1] = "\0"; - - - /* - * Following calls create the HKEY_CLASSES_ROOT\CLSID entry for the Writer export filter. - * - * Note that import are export are relative to the WinCE device, so files are - * exported to the desktop format. - */ - - // Get a handle to the CLSID key - lRet = ::RegOpenKeyEx(HKEY_CLASSES_ROOT, _T("CLSID"), 0, KEY_ALL_ACCESS, &hKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - // Create the CLSID key for the XMergeFilter - lRet = ::RegCreateKeyEx(hKey, CXMergeFilter::m_pszPSWExportCLSID, 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hKey, _T(""), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPSWExportShortDesc, - (::_tcslen(CXMergeFilter::m_pszPSWExportShortDesc) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - // Create the DefaultIcon key. For the moment, use one of the Async supplied ones - lRet = ::RegCreateKeyEx(hKey, _T("DefaultIcon"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, NULL, 0, REG_SZ, (LPBYTE)_T("C:\\Program Files\\Microsoft ActiveSync\\pwdcnv.dll,0"), - (::_tcslen(_T("C:\\Program Files\\Microsoft ActiveSync\\pwdcnv.dll,0")) - * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - // Create the InprocServer32 key - lRet = ::RegCreateKeyEx(hKey, _T("InProcServer32"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("ThreadingModel"), 0, REG_SZ, (LPBYTE)_T("Apartment"), 10); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - // Create the key for the DLL file. First find the filename of the dll - if (!::GetModuleFileName((HMODULE)_Module.m_hInst, sTemp, (_MAX_PATH + 1))) - { - lRet = ::GetLastError(); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - } - - - lRet = ::RegSetValueEx(hDataKey, NULL, 0, REG_SZ, (LPBYTE)sTemp, - (::_tcslen(sTemp) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - // Setup the PegasusFilter key values - lRet = ::RegCreateKeyEx(hKey, _T("PegasusFilter"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("Description"), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPSWExportDesc, - (::_tcslen(CXMergeFilter::m_pszPSWExportDesc) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - lRet = ::RegSetValueEx(hDataKey, _T("Export"), 0, REG_SZ, (LPBYTE)_T(""), (1 * sizeof(TCHAR))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - lRet = ::RegSetValueEx(hDataKey, _T("NewExtension"), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPSWExportExt, - (::_tcslen(CXMergeFilter::m_pszPSWExportExt) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - ::RegCloseKey(hKey); hKey = NULL; - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - - - /* - * Following calls create the entries for the filter in - * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\Filters - */ - - lRet = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows CE Services\\Filters"), - 0, KEY_ALL_ACCESS, &hKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - _snprintf(sTemp, _MAX_PATH + 1, "%c%s\\InstalledFilters\0", '.', CXMergeFilter::m_pszPSWImportExt); - lRet = ::RegCreateKeyEx(hKey, _T(sTemp), - 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, CXMergeFilter::m_pszPSWExportCLSID, 0, REG_SZ, (LPBYTE)_T(""), (1 * sizeof(TCHAR))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::RegCloseKey(hKey); hKey = NULL; - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - - /* - * Following calls create the HKEY_CLASSES_ROOT\CLSID entry for the Writer import filter. - * - * Note that import are export are relative to the WinCE device, so files are - * exported to the desktop format. - */ - // Get a handle to the CLSID key - lRet = ::RegOpenKeyEx(HKEY_CLASSES_ROOT, _T("CLSID"), 0, KEY_ALL_ACCESS, &hKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - // Create the CLSID key for the XMergeFilter - lRet = ::RegCreateKeyEx(hKey, CXMergeFilter::m_pszPSWImportCLSID, 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hKey, _T(""), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPSWImportShortDesc, - (::_tcslen(CXMergeFilter::m_pszPSWImportShortDesc) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - // Create the DefaultIcon key. For the moment, use one of the Async supplied ones - lRet = ::RegCreateKeyEx(hKey, _T("DefaultIcon"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, NULL, 0, REG_SZ, (LPBYTE)_T("C:\\Program Files\\Microsoft ActiveSync\\pwdcnv.dll,0"), - (::_tcslen(_T("C:\\Program Files\\Microsoft ActiveSync\\pwdcnv.dll,0")) - * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - // Create the InprocServer32 key - lRet = ::RegCreateKeyEx(hKey, _T("InProcServer32"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("ThreadingModel"), 0, REG_SZ, (LPBYTE)_T("Apartment"), 10); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - // Create the key for the DLL file. First find the filename of the dll - if (!::GetModuleFileName((HMODULE)_Module.m_hInst, sTemp, (_MAX_PATH + 1))) - { - lRet = ::GetLastError(); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - } - - - lRet = ::RegSetValueEx(hDataKey, NULL, 0, REG_SZ, (LPBYTE)sTemp, - (::_tcslen(sTemp) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - // Setup the PegasusFilter key values - lRet = ::RegCreateKeyEx(hKey, _T("PegasusFilter"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("Description"), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPSWImportDesc, - (::_tcslen(CXMergeFilter::m_pszPSWImportDesc) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - lRet = ::RegSetValueEx(hDataKey, _T("Import"), 0, REG_SZ, (LPBYTE)_T(""), (1 * sizeof(TCHAR))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - lRet = ::RegSetValueEx(hDataKey, _T("NewExtension"), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPSWImportExt, - (::_tcslen(CXMergeFilter::m_pszPSWImportExt) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - ::RegCloseKey(hKey); hKey = NULL; - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - /* - * Following calls create the entries for the filter in - * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\Filters - */ - lRet = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows CE Services\\Filters"), - 0, KEY_ALL_ACCESS, &hKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - // Add in defaults for import and export - _snprintf(sTemp, _MAX_PATH +1, "%c%s\0", '.', CXMergeFilter::m_pszPSWExportExt); - lRet = ::RegCreateKeyEx(hKey, _T(sTemp), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("DefaultImport"), 0, REG_SZ, - (LPBYTE)CXMergeFilter::m_pszPSWImportCLSID, - (::_tcslen(CXMergeFilter::m_pszPSWImportDesc) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - lRet = ::RegSetValueEx(hDataKey, _T("DefaultExport"), 0, REG_SZ, (LPBYTE)_T("Binary Copy"), - (::_tcslen(_T("Binary Copy")) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::RegCloseKey(hDataKey); - - // Update registered filters - _snprintf(sTemp, _MAX_PATH + 1, "%c%s\\InstalledFilters\0", '.', CXMergeFilter::m_pszPSWExportExt); - lRet = ::RegCreateKeyEx(hKey, _T(sTemp), - 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - lRet = ::RegSetValueEx(hDataKey, CXMergeFilter::m_pszPSWImportCLSID, 0, REG_SZ, (LPBYTE)_T(""), (1 * sizeof(TCHAR))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::RegCloseKey(hKey); hKey = NULL; - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - - /* - * Following calls create the HKEY_CLASSES_ROOT\CLSID entry for the Calc export filter. - * - * Note that import are export are relative to the WinCE device, so files are - * exported to the desktop format. - */ - - // Get a handle to the CLSID key - lRet = ::RegOpenKeyEx(HKEY_CLASSES_ROOT, _T("CLSID"), 0, KEY_ALL_ACCESS, &hKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - // Create the CLSID key for the XMerge Filter - lRet = ::RegCreateKeyEx(hKey, CXMergeFilter::m_pszPXLExportCLSID, 0, _T(""), - 0, KEY_ALL_ACCESS, NULL, &hKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hKey, _T(""), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPXLExportShortDesc, - (::_tcslen(CXMergeFilter::m_pszPXLExportShortDesc) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - // Create the DefaultIcon key. For the moment, use one of the Async supplied ones - lRet = ::RegCreateKeyEx(hKey, _T("DefaultIcon"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, NULL, 0, REG_SZ, (LPBYTE)_T("C:\\Program Files\\Microsoft ActiveSync\\pwdcnv.dll,0"), - (::_tcslen(_T("C:\\Program Files\\Microsoft ActiveSync\\pwdcnv.dll,0")) - * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - // Create the InprocServer32 key - lRet = ::RegCreateKeyEx(hKey, _T("InProcServer32"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("ThreadingModel"), 0, REG_SZ, (LPBYTE)_T("Apartment"), 10); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - // Create the key for the DLL file. First find the filename of the dll - if (!::GetModuleFileName((HMODULE)_Module.m_hInst, sTemp, (_MAX_PATH + 1))) - { - lRet = ::GetLastError(); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - } - - - lRet = ::RegSetValueEx(hDataKey, NULL, 0, REG_SZ, (LPBYTE)sTemp, - (::_tcslen(sTemp) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - // Setup the PegasusFilter key values - lRet = ::RegCreateKeyEx(hKey, _T("PegasusFilter"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("Description"), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPXLExportDesc, - (::_tcslen(CXMergeFilter::m_pszPXLExportDesc) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - lRet = ::RegSetValueEx(hDataKey, _T("Export"), 0, REG_SZ, (LPBYTE)_T(""), (1 * sizeof(TCHAR))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - lRet = ::RegSetValueEx(hDataKey, _T("NewExtension"), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPXLExportExt, - (::_tcslen(CXMergeFilter::m_pszPXLExportExt) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - ::RegCloseKey(hKey); hKey = NULL; - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - - - /* - * Following calls create the entries for the filter in - * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\Filters - */ - - lRet = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows CE Services\\Filters"), - 0, KEY_ALL_ACCESS, &hKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - _snprintf(sTemp, _MAX_PATH + 1, "%c%s\\InstalledFilters\0", '.', CXMergeFilter::m_pszPXLImportExt); - lRet = ::RegCreateKeyEx(hKey, _T(sTemp), - 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, CXMergeFilter::m_pszPXLExportCLSID, 0, REG_SZ, (LPBYTE)_T(""), (1 * sizeof(TCHAR))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::RegCloseKey(hKey); hKey = NULL; - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - - /* - * Following calls create the HKEY_CLASSES_ROOT\CLSID entry for the Calc import filter. - * - * Note that import are export are relative to the WinCE device, so files are - * exported to the desktop format. - */ - // Get a handle to the CLSID key - lRet = ::RegOpenKeyEx(HKEY_CLASSES_ROOT, _T("CLSID"), 0, KEY_ALL_ACCESS, &hKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - // Create the CLSID key for the XMergeFilter - lRet = ::RegCreateKeyEx(hKey, CXMergeFilter::m_pszPXLImportCLSID, 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hKey, _T(""), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPXLImportShortDesc, - (::_tcslen(CXMergeFilter::m_pszPXLImportShortDesc) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - // Create the DefaultIcon key. For the moment, use one of the Async supplied ones - lRet = ::RegCreateKeyEx(hKey, _T("DefaultIcon"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, NULL, 0, REG_SZ, (LPBYTE)_T("C:\\Program Files\\Microsoft ActiveSync\\pwdcnv.dll,0"), - (::_tcslen(_T("C:\\Program Files\\Microsoft ActiveSync\\pwdcnv.dll,0")) - * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - // Create the InprocServer32 key - lRet = ::RegCreateKeyEx(hKey, _T("InProcServer32"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("ThreadingModel"), 0, REG_SZ, (LPBYTE)_T("Apartment"), 10); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - // Create the key for the DLL file. First find the filename of the dll - if (!::GetModuleFileName((HMODULE)_Module.m_hInst, sTemp, (_MAX_PATH + 1))) - { - lRet = ::GetLastError(); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - } - - - lRet = ::RegSetValueEx(hDataKey, NULL, 0, REG_SZ, (LPBYTE)sTemp, - (::_tcslen(sTemp) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - // Setup the PegasusFilter key values - lRet = ::RegCreateKeyEx(hKey, _T("PegasusFilter"), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("Description"), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPXLImportDesc, - (::_tcslen(CXMergeFilter::m_pszPXLImportDesc) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - lRet = ::RegSetValueEx(hDataKey, _T("Import"), 0, REG_SZ, (LPBYTE)_T(""), (1 * sizeof(TCHAR))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - lRet = ::RegSetValueEx(hDataKey, _T("NewExtension"), 0, REG_SZ, (LPBYTE)CXMergeFilter::m_pszPXLImportExt, - (::_tcslen(CXMergeFilter::m_pszPXLImportExt) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - ::RegCloseKey(hKey); hKey = NULL; - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - - /* - * Following calls create the entries for the filter in - * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\Filters - */ - lRet = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows CE Services\\Filters"), - 0, KEY_ALL_ACCESS, &hKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - // Add in defaults for import and export - _snprintf(sTemp, _MAX_PATH +1, "%c%s\0", '.', CXMergeFilter::m_pszPXLExportExt); - lRet = ::RegCreateKeyEx(hKey, _T(sTemp), 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("DefaultImport"), 0, REG_SZ, - (LPBYTE)CXMergeFilter::m_pszPXLImportCLSID, - (::_tcslen(CXMergeFilter::m_pszPSWImportDesc) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - lRet = ::RegSetValueEx(hDataKey, _T("DefaultExport"), 0, REG_SZ, (LPBYTE)_T("Binary Copy"), - (::_tcslen(_T("Binary Copy")) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::RegCloseKey(hDataKey); - - // Update registered filters - - - _snprintf(sTemp, _MAX_PATH + 1, "%c%s\\InstalledFilters\0", '.', CXMergeFilter::m_pszPXLExportExt); - lRet = ::RegCreateKeyEx(hKey, _T(sTemp), - 0, _T(""), 0, KEY_ALL_ACCESS, NULL, &hDataKey, NULL); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, CXMergeFilter::m_pszPXLImportCLSID, 0, REG_SZ, (LPBYTE)_T(""), (1 * sizeof(TCHAR))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::RegCloseKey(hKey); hKey = NULL; - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - - return HRESULT_FROM_WIN32(lRet); -} - - -STDAPI DllUnregisterServer() -{ - long lRet = 0; - HKEY hKey = NULL; - HKEY hDataKey = NULL; - - TCHAR szClassName[_MAX_PATH] = "\0"; - TCHAR szKeyName[_MAX_PATH] = "\0"; - DWORD dwClassName = _MAX_PATH; - DWORD dwKeyName = _MAX_PATH; - - /* - * Remove HKEY_CLASS_ROOT\CLSID\{XXX} entry for the export and import filters - * - * Windows 95/98/Me allow one step deletion of a key and all subkeys. - * Windows NT/2000/XP do not so the subkeys must be deleted individually. - */ - lRet = ::RegOpenKeyEx(HKEY_CLASSES_ROOT, _T("CLSID"), 0, KEY_ALL_ACCESS, &hKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - // First up, the Writer export filter - lRet = ::RegOpenKeyEx(hKey, CXMergeFilter::m_pszPSWExportCLSID, 0, KEY_ALL_ACCESS, &hDataKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - while ((lRet = ::RegEnumKeyEx(hDataKey, 0, szKeyName, &dwKeyName, 0, szClassName, &dwClassName, NULL)) - != ERROR_NO_MORE_ITEMS) - { - lRet = ::RegDeleteKey(hDataKey, szKeyName); - - ::lstrcpy(szKeyName, "\0"); - ::lstrcpy(szClassName, "\0"); - - dwClassName = _MAX_PATH; - dwKeyName = _MAX_PATH; - } - - ::RegCloseKey(hDataKey); hDataKey = NULL; - - lRet = ::RegDeleteKey(hKey, CXMergeFilter::m_pszPSWExportCLSID); - if (lRet != ERROR_SUCCESS && lRet != ERROR_FILE_NOT_FOUND) - return _signalRegError(lRet, hKey, hDataKey); - - - - // Next, the Writer import filter - lRet = ::RegOpenKeyEx(hKey, CXMergeFilter::m_pszPSWImportCLSID, 0, KEY_ALL_ACCESS, &hDataKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - while ((lRet = ::RegEnumKeyEx(hDataKey, 0, szKeyName, &dwKeyName, 0, szClassName, &dwClassName, NULL)) - != ERROR_NO_MORE_ITEMS) - { - lRet = ::RegDeleteKey(hDataKey, szKeyName); - - ::lstrcpy(szKeyName, "\0"); - ::lstrcpy(szClassName, "\0"); - - dwClassName = _MAX_PATH; - dwKeyName = _MAX_PATH; - } - - ::RegCloseKey(hDataKey); hDataKey = NULL; - - lRet = ::RegDeleteKey(hKey, CXMergeFilter::m_pszPSWImportCLSID); - if (lRet != ERROR_SUCCESS && lRet != ERROR_FILE_NOT_FOUND) - return _signalRegError(lRet, hKey, hDataKey); - - - // Next up, the Calc export filter - lRet = ::RegOpenKeyEx(hKey, CXMergeFilter::m_pszPXLExportCLSID, 0, KEY_ALL_ACCESS, &hDataKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - while ((lRet = ::RegEnumKeyEx(hDataKey, 0, szKeyName, &dwKeyName, 0, szClassName, &dwClassName, NULL)) - != ERROR_NO_MORE_ITEMS) - { - lRet = ::RegDeleteKey(hDataKey, szKeyName); - - ::lstrcpy(szKeyName, "\0"); - ::lstrcpy(szClassName, "\0"); - - dwClassName = _MAX_PATH; - dwKeyName = _MAX_PATH; - } - - ::RegCloseKey(hDataKey); hDataKey = NULL; - - lRet = ::RegDeleteKey(hKey, CXMergeFilter::m_pszPXLExportCLSID); - if (lRet != ERROR_SUCCESS && lRet != ERROR_FILE_NOT_FOUND) - return _signalRegError(lRet, hKey, hDataKey); - - - // Next, the Calc import filter - lRet = ::RegOpenKeyEx(hKey, CXMergeFilter::m_pszPXLImportCLSID, 0, KEY_ALL_ACCESS, &hDataKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - while ((lRet = ::RegEnumKeyEx(hDataKey, 0, szKeyName, &dwKeyName, 0, szClassName, &dwClassName, NULL)) - != ERROR_NO_MORE_ITEMS) - { - lRet = ::RegDeleteKey(hDataKey, szKeyName); - - ::lstrcpy(szKeyName, "\0"); - ::lstrcpy(szClassName, "\0"); - - dwClassName = _MAX_PATH; - dwKeyName = _MAX_PATH; - } - - ::RegCloseKey(hDataKey); hDataKey = NULL; - - lRet = ::RegDeleteKey(hKey, CXMergeFilter::m_pszPXLImportCLSID); - if (lRet != ERROR_SUCCESS && lRet != ERROR_FILE_NOT_FOUND) - return _signalRegError(lRet, hKey, hDataKey); - - ::RegCloseKey(hKey); hKey = NULL; - - - - /* - * Remove the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\Filters - */ - lRet = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows CE Services\\Filters"), - 0, KEY_ALL_ACCESS, &hKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - - // Remove the Writer export filter from the Writer import file extension subkey. - _snprintf(szKeyName, _MAX_PATH, ".%s\\InstalledFilters", CXMergeFilter::m_pszPSWImportExt); - lRet = ::RegOpenKeyEx(hKey, _T(szKeyName), 0, KEY_ALL_ACCESS, &hDataKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegDeleteValue(hDataKey, CXMergeFilter::m_pszPSWExportCLSID); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::lstrcpyn(szKeyName, "\0", _MAX_PATH); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - // Remove the Writer import filter from the Writer export file extension subkey. - _snprintf(szKeyName, _MAX_PATH, ".%s\\InstalledFilters", CXMergeFilter::m_pszPSWExportExt); - lRet = ::RegOpenKeyEx(hKey, _T(szKeyName), 0, KEY_ALL_ACCESS, &hDataKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegDeleteValue(hDataKey, CXMergeFilter::m_pszPSWImportCLSID); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::lstrcpyn(szKeyName, "\0", _MAX_PATH); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - // Make Binary Copy the default for Writer export file extension subkey DefaultImport - _snprintf(szKeyName, _MAX_PATH, ".%s\0", CXMergeFilter::m_pszPSWExportExt); - lRet = ::RegOpenKeyEx(hKey, _T(szKeyName), 0, KEY_ALL_ACCESS, &hDataKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("DefaultImport"), 0, REG_SZ, (LPBYTE)_T("Binary Copy"), - (::_tcslen(_T("Binary Copy")) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::lstrcpyn(szKeyName, "\0", _MAX_PATH); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - // Remove the Calc export filter from the Calc import file extension subkey. - _snprintf(szKeyName, _MAX_PATH, ".%s\\InstalledFilters", CXMergeFilter::m_pszPXLImportExt); - lRet = ::RegOpenKeyEx(hKey, _T(szKeyName), 0, KEY_ALL_ACCESS, &hDataKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegDeleteValue(hDataKey, CXMergeFilter::m_pszPXLExportCLSID); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::lstrcpyn(szKeyName, "\0", _MAX_PATH); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - // Remove the Calc import filter from the Calc export file extension subkey. - _snprintf(szKeyName, _MAX_PATH, ".%s\\InstalledFilters", CXMergeFilter::m_pszPXLExportExt); - lRet = ::RegOpenKeyEx(hKey, _T(szKeyName), 0, KEY_ALL_ACCESS, &hDataKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegDeleteValue(hDataKey, CXMergeFilter::m_pszPXLImportCLSID); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::lstrcpyn(szKeyName, "\0", _MAX_PATH); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - // Make Binary Copy the default for Calc export file extension subkey DefaultImport - _snprintf(szKeyName, _MAX_PATH, ".%s\0", CXMergeFilter::m_pszPXLExportExt); - lRet = ::RegOpenKeyEx(hKey, _T(szKeyName), 0, KEY_ALL_ACCESS, &hDataKey); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - lRet = ::RegSetValueEx(hDataKey, _T("DefaultImport"), 0, REG_SZ, (LPBYTE)_T("Binary Copy"), - (::_tcslen(_T("Binary Copy")) * sizeof(TCHAR) + (1 * sizeof(TCHAR)))); - if (lRet != ERROR_SUCCESS) - return _signalRegError(lRet, hKey, hDataKey); - - ::lstrcpyn(szKeyName, "\0", _MAX_PATH); - ::RegCloseKey(hDataKey); hDataKey = NULL; - - - - ::RegCloseKey(hKey); hKey = NULL; - - return HRESULT_FROM_WIN32(lRet); -} - - -////////////////////////////////////////////////////////////////////// -// CXMergeSyncModule methods -////////////////////////////////////////////////////////////////////// -CXMergeSyncModule::CXMergeSyncModule () : m_lLocks(0), m_lObjs(0) -{ -} - -CXMergeSyncModule::~CXMergeSyncModule () -{ -} - -long CXMergeSyncModule::LockServer(BOOL fLock) -{ - if(fLock) - return ::InterlockedIncrement(&m_lLocks); - else - return ::InterlockedDecrement(&m_lLocks); -} - -long CXMergeSyncModule::GetLockCount() const -{ - return m_lLocks + m_lObjs; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmerge/source/activesync/XMergeSync.def b/xmerge/source/activesync/XMergeSync.def deleted file mode 100644 index 89de774085f8..000000000000 --- a/xmerge/source/activesync/XMergeSync.def +++ /dev/null @@ -1,9 +0,0 @@ -
-LIBRARY "XMERGESYNC.DLL"
-DESCRIPTION 'XMerge Desktop Synchronization Module'
-
-EXPORTS
- DllCanUnloadNow PRIVATE
- DllGetClassObject PRIVATE
- DllRegisterServer PRIVATE
- DllUnregisterServer PRIVATE
diff --git a/xmerge/source/activesync/XMergeSync.dsp b/xmerge/source/activesync/XMergeSync.dsp deleted file mode 100644 index 3c13e028e50b..000000000000 --- a/xmerge/source/activesync/XMergeSync.dsp +++ /dev/null @@ -1,143 +0,0 @@ -# Microsoft Developer Studio Project File - Name="XMergeSync" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=XMergeSync - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "XMergeSync.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "XMergeSync.mak" CFG="XMergeSync - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "XMergeSync - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "XMergeSync - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""$/XMergeSync", BAAAAAAA"
-# PROP Scc_LocalPath "."
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "XMergeSync - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMERGESYNC_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "C:\Program Files\Windows CE Tools\wce300\Pocket PC 2002\support\ActiveSync\inc" /I "C:\Java\j2sdk1.4.0\include" /I "C:\Java\j2sdk1.4.0\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMERGESYNC_EXPORTS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x1809 /d "NDEBUG"
-# ADD RSC /l 0x1809 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-
-!ELSEIF "$(CFG)" == "XMergeSync - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMERGESYNC_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "C:\Program Files\Windows CE Tools\wce300\Pocket PC 2002\support\ActiveSync\inc" /I "C:\Java\j2sdk1.4.0\include" /I "C:\Java\j2sdk1.4.0\include\win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XMERGESYNC_EXPORTS" /FR /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x1809 /d "_DEBUG"
-# ADD RSC /l 0x1809 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"C:\Java\j2sdk1.4.0\lib"
-
-!ENDIF
-
-# Begin Target
-
-# Name "XMergeSync - Win32 Release"
-# Name "XMergeSync - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\stdafx.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMergeFactory.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMergeFilter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMergeSync.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMergeSync.def
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMergeSync.rc
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\stdafx.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMergeFactory.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMergeFilter.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\XMergeSync.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/xmerge/source/activesync/XMergeSync.dsw b/xmerge/source/activesync/XMergeSync.dsw deleted file mode 100644 index eca2ade60ac1..000000000000 --- a/xmerge/source/activesync/XMergeSync.dsw +++ /dev/null @@ -1,33 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "XMergeSync"=.\XMergeSync.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
- begin source code control
- "$/XMergeSync", BAAAAAAA
- .
- end source code control
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/xmerge/source/activesync/XMergeSync.h b/xmerge/source/activesync/XMergeSync.h deleted file mode 100644 index b5779c2ed0d0..000000000000 --- a/xmerge/source/activesync/XMergeSync.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -// XMergeSyncModule.h: interface for the CXMergeSyncModule class. -// -////////////////////////////////////////////////////////////////////// - -#if !defined(AFX_XMERGESYNCMODULE_H__0788DA0C_4DCB_4876_9722_F9EAF1EB5462__INCLUDED_) -#define AFX_XMERGESYNCMODULE_H__0788DA0C_4DCB_4876_9722_F9EAF1EB5462__INCLUDED_ - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - - -// Used to keep track of the dll - -class CXMergeSyncModule -{ -protected: - long m_lLocks; - long m_lObjs; - -public: - long GetLockCount() const; - long LockServer(BOOL fLock); - HINSTANCE m_hInst; - CXMergeSyncModule(); - virtual ~CXMergeSyncModule(); -}; - -#endif // !defined(AFX_XMERGESYNCMODULE_H__0788DA0C_4DCB_4876_9722_F9EAF1EB5462__INCLUDED_) - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmerge/source/activesync/XMergeSync.rc b/xmerge/source/activesync/XMergeSync.rc deleted file mode 100644 index 3e9d24dd9207..000000000000 --- a/xmerge/source/activesync/XMergeSync.rc +++ /dev/null @@ -1,66 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -///////////////////////////////////////////////////////////////////////////// -// English (Ireland) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENI) -#ifdef _WIN32 -//LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_EIRE -LANGUAGE 0x9, 0x1 -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE DISCARDABLE -BEGIN - IDS_NOJAVA "Unable to find JRE 1.4 installation." - IDS_BADCLASSPATH "Unable to locate necessary Jar files." -END - -#endif // English (Ireland) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/xmerge/source/activesync/exports.map b/xmerge/source/activesync/exports.map deleted file mode 100644 index e78067c51ff5..000000000000 --- a/xmerge/source/activesync/exports.map +++ /dev/null @@ -1,29 +0,0 @@ -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This file incorporates work covered by the following license notice: -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed -# with this work for additional information regarding copyright -# ownership. The ASF licenses this file to you under the Apache -# License, Version 2.0 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.apache.org/licenses/LICENSE-2.0 . -# - -UDK_3_0_0 { - global: - DllCanUnloadNow; - DllGetClassObject; - DllRegisterServer; - DllUnregisterServer; - - local: - *; -}; - diff --git a/xmerge/source/activesync/guids.txt b/xmerge/source/activesync/guids.txt deleted file mode 100644 index 1bde5587c169..000000000000 --- a/xmerge/source/activesync/guids.txt +++ /dev/null @@ -1,60 +0,0 @@ -INTERFACENAME = { /* bdd611c3-7bab-460f-8711-5b9ac9ef6020 - StarWriter Export*/ - 0xbdd611c3, - 0x7bab, - 0x460f, - {0x87, 0x11, 0x5b, 0x9a, 0xc9, 0xef, 0x60, 0x20} - }; -INTERFACENAME = { /* cb43f086-838d-4fa4-b5f6-3406b9a57439 - Pocket Word Import */ - 0xcb43f086, - 0x838d, - 0x4fa4, - {0xb5, 0xf6, 0x34, 0x06, 0xb9, 0xa5, 0x74, 0x39} - }; -INTERFACENAME = { /* c6ab3e74-9f4f-4370-8120-a8a6fabb7a7c - StarCalc Export*/ - 0xc6ab3e74, - 0x9f4f, - 0x4370, - {0x81, 0x20, 0xa8, 0xa6, 0xfa, 0xbb, 0x7a, 0x7c} - }; -INTERFACENAME = { /* 43887c67-4d5d-4127-baac-87a288494c7c - Pocket Excel Import*/ - 0x43887c67, - 0x4d5d, - 0x4127, - {0xba, 0xac, 0x87, 0xa2, 0x88, 0x49, 0x4c, 0x7c} - }; -INTERFACENAME = { /* 300b7580-50f6-448b-aabb-9b823cab6e88 */ - 0x300b7580, - 0x50f6, - 0x448b, - {0xaa, 0xbb, 0x9b, 0x82, 0x3c, 0xab, 0x6e, 0x88} - }; -INTERFACENAME = { /* e88b223c-ffb4-456f-b93b-0f59594b228e */ - 0xe88b223c, - 0xffb4, - 0x456f, - {0xb9, 0x3b, 0x0f, 0x59, 0x59, 0x4b, 0x22, 0x8e} - }; -INTERFACENAME = { /* 8a538ec1-7d68-4ad0-9cf9-6e4d9f8c6ff0 */ - 0x8a538ec1, - 0x7d68, - 0x4ad0, - {0x9c, 0xf9, 0x6e, 0x4d, 0x9f, 0x8c, 0x6f, 0xf0} - }; -INTERFACENAME = { /* 7b613acf-9d1b-4bb9-b58e-15e0f5e21765 */ - 0x7b613acf, - 0x9d1b, - 0x4bb9, - {0xb5, 0x8e, 0x15, 0xe0, 0xf5, 0xe2, 0x17, 0x65} - }; -INTERFACENAME = { /* fbf4de58-cfe8-4244-bf73-6162035ae0c6 */ - 0xfbf4de58, - 0xcfe8, - 0x4244, - {0xbf, 0x73, 0x61, 0x62, 0x03, 0x5a, 0xe0, 0xc6} - }; -INTERFACENAME = { /* 62bf28c1-ce42-4b56-a218-980e8c4ba080 */ - 0x62bf28c1, - 0xce42, - 0x4b56, - {0xa2, 0x18, 0x98, 0x0e, 0x8c, 0x4b, 0xa0, 0x80} - }; diff --git a/xmerge/source/activesync/makefile.mk b/xmerge/source/activesync/makefile.mk deleted file mode 100644 index 45714ce3a4fa..000000000000 --- a/xmerge/source/activesync/makefile.mk +++ /dev/null @@ -1,62 +0,0 @@ -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This file incorporates work covered by the following license notice: -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed -# with this work for additional information regarding copyright -# ownership. The ASF licenses this file to you under the Apache -# License, Version 2.0 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.apache.org/licenses/LICENSE-2.0 . -# - -PRJ = ..$/.. -PRJNAME = xmerge -TARGET = xmergesync -ENABLE_EXCEPTIONS=TRUE -LIBTARGET=NO -.IF "$(POCKETPCSDK_HOME)" != "" -SOLARINC+=-I$(POCKETPCSDK_HOME)$/support$/ActiveSync$/inc -.ENDIF # "$(POCKETPCSDK_HOME)" != "" - -# --- Settings ----------------------------------------------------- -.INCLUDE: settings.mk - -.IF 0 -.IF "$(OS)" == "WNT" -.IF "$(POCKETPCSDK_HOME)" != "" - -RCFILES=XMergeSync.rc - -SLOFILES= \ - $(SLO)$/XMergeFactory.obj \ - $(SLO)$/XMergeSync.obj \ - $(SLO)$/XMergeFilter.obj -LIBNAME=$(TARGET) -SHL1TARGETDEPN=makefile.mk -SHL1OBJS=$(SLOFILES) $(RES)$/xmergesync.res -SHL1TARGET=$(LIBNAME) -SHL1IMPLIB=i$(LIBNAME) -SHL1DEF=XMergeSync.def -USE_DEFFILE=true - -SHL1STDLIBS= uuid.lib Advapi32.lib - -.ENDIF # "$(POCKETPCSDK_HOME)" != "" -.ENDIF -.ENDIF - - -# --- Targets ------------------------------------------------------ -.INCLUDE : target.mk - -ALLTAR : - .IF "$(OS)" == "WNT" - $(COPY) BIN$/xmergesync.dll $(BIN) - .ENDIF diff --git a/xmerge/source/activesync/resource.h b/xmerge/source/activesync/resource.h deleted file mode 100644 index aceaa7f803cb..000000000000 --- a/xmerge/source/activesync/resource.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by XMergeSync.rc -// -#define IDS_NOJAVA 1 -#define IDS_BADCLASSPATH 2 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmerge/source/activesync/stdafx.cpp b/xmerge/source/activesync/stdafx.cpp deleted file mode 100644 index af75dd22d522..000000000000 --- a/xmerge/source/activesync/stdafx.cpp +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -// -// stdafx.cpp : source file that includes just the standard includes -// stdafx.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information -// -#include "stdafx.h" - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmerge/source/activesync/stdafx.h b/xmerge/source/activesync/stdafx.h deleted file mode 100644 index fd781710b688..000000000000 --- a/xmerge/source/activesync/stdafx.h +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -// -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, -// but are changed infrequently -// -#pragma once - -#include <windows.h> -#include <shlobj.h> -#include <stdio.h> -#include <tchar.h> -#include <time.h> - -#define INITGUIDS -#include <initguid.h> - -#include <cesync.h> -#include <replfilt.h> - -#include "XMergeSync.h" - -// -// This declares the one & only instance of the CXMergeSyncModule class. -// You can access any public members of this class through the -// global _Module. (Its definition is in XMergeSync.cpp.) -// -extern CXMergeSyncModule _Module; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |