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 24 25 #ifndef _DATAFMTTRANSL_HXX_ 26 #define _DATAFMTTRANSL_HXX_ 27 28 //----------------------------------------------- 29 // includes 30 //----------------------------------------------- 31 32 #include <cppuhelper/servicefactory.hxx> 33 #include <com/sun/star/datatransfer/XDataFormatTranslator.hpp> 34 #include <com/sun/star/datatransfer/XTransferable.hpp> 35 #include <sal/types.h> 36 #include <rtl/ustring.hxx> 37 38 #if defined _MSC_VER 39 #pragma warning(push,1) 40 #endif 41 #include <windows.h> 42 #if defined _MSC_VER 43 #pragma warning(pop) 44 #endif 45 46 //----------------------------------------------- 47 // declaration 48 //----------------------------------------------- 49 50 class CFormatEtc; 51 52 class CDataFormatTranslator 53 { 54 public: 55 CDataFormatTranslator( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& aServiceManager ); 56 57 CFormatEtc getFormatEtcFromDataFlavor( const com::sun::star::datatransfer::DataFlavor& aDataFlavor ) const; 58 com::sun::star::datatransfer::DataFlavor getDataFlavorFromFormatEtc( 59 const FORMATETC& aFormatEtc, LCID lcid = GetThreadLocale( ) ) const; 60 61 CFormatEtc SAL_CALL getFormatEtcForClipformat( CLIPFORMAT cf ) const; 62 CFormatEtc SAL_CALL getFormatEtcForClipformatName( const rtl::OUString& aClipFmtName ) const; 63 rtl::OUString SAL_CALL getClipboardFormatName( CLIPFORMAT aClipformat ) const; 64 65 sal_Bool SAL_CALL isHTMLFormat( CLIPFORMAT cf ) const; 66 sal_Bool SAL_CALL isTextHtmlFormat( CLIPFORMAT cf ) const; 67 sal_Bool SAL_CALL isOemOrAnsiTextFormat( CLIPFORMAT cf ) const; 68 sal_Bool SAL_CALL isUnicodeTextFormat( CLIPFORMAT cf ) const; 69 sal_Bool SAL_CALL isTextFormat( CLIPFORMAT cf ) const; 70 71 private: 72 rtl::OUString SAL_CALL getTextCharsetFromLCID( LCID lcid, CLIPFORMAT aClipformat ) const; 73 74 private: 75 const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_SrvMgr; 76 com::sun::star::uno::Reference< com::sun::star::datatransfer::XDataFormatTranslator > m_XDataFormatTranslator; 77 }; 78 79 #endif 80