| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| // MARKER(update_precomp.py): autogen include statement, do not remove |
| #include "precompiled_chart2.hxx" |
| #include "MediaDescriptorHelper.hxx" |
| |
| using namespace ::com::sun::star; |
| |
| namespace apphelper |
| { |
| |
| |
| const short FLAG_DEPRECATED =1; |
| const short FLAG_MODEL =2; |
| |
| #define WRITE_PROPERTY( MediaName, nFlags ) \ |
| if(rProp.Name.equals(::rtl::OUString::createFromAscii(#MediaName))) \ |
| { \ |
| if( rProp.Value >>= MediaName ) \ |
| ISSET_##MediaName = sal_True; \ |
| if(nFlags & FLAG_DEPRECATED) \ |
| { \ |
| m_aDeprecatedProperties[nDeprecatedCount]=rProp;\ |
| nDeprecatedCount++; \ |
| } \ |
| else \ |
| { \ |
| m_aRegularProperties[nRegularCount]=rProp; \ |
| nRegularCount++; \ |
| if( nFlags & FLAG_MODEL) \ |
| { \ |
| m_aModelProperties[nModelCount]=rProp; \ |
| nModelCount++; \ |
| } \ |
| } \ |
| } |
| |
| MediaDescriptorHelper::MediaDescriptorHelper( const uno::Sequence< |
| beans::PropertyValue > & rMediaDescriptor ) |
| { |
| impl_init(); |
| |
| m_aRegularProperties.realloc(0); |
| m_aRegularProperties.realloc(rMediaDescriptor.getLength()); |
| sal_Int32 nRegularCount = 0; |
| |
| m_aDeprecatedProperties.realloc(0); |
| m_aDeprecatedProperties.realloc(rMediaDescriptor.getLength()); |
| sal_Int32 nDeprecatedCount = 0; |
| |
| m_aAdditionalProperties.realloc(0); |
| m_aAdditionalProperties.realloc(rMediaDescriptor.getLength()); |
| sal_Int32 nAdditionalCount = 0; |
| |
| m_aModelProperties.realloc(0); |
| m_aModelProperties.realloc(rMediaDescriptor.getLength()); |
| sal_Int32 nModelCount = 0; |
| |
| |
| //read given rMediaDescriptor and store in internal structures: |
| for( sal_Int32 i= rMediaDescriptor.getLength();i--;) |
| { |
| const beans::PropertyValue& rProp = rMediaDescriptor[i]; |
| WRITE_PROPERTY( AsTemplate, FLAG_MODEL ) |
| else WRITE_PROPERTY( Author, FLAG_MODEL ) |
| else WRITE_PROPERTY( CharacterSet, FLAG_MODEL ) |
| else WRITE_PROPERTY( Comment, FLAG_MODEL ) |
| else WRITE_PROPERTY( ComponentData, FLAG_MODEL ) |
| else WRITE_PROPERTY( FileName, FLAG_DEPRECATED ) |
| else WRITE_PROPERTY( FilterData, FLAG_MODEL ) |
| else WRITE_PROPERTY( FilterName, FLAG_MODEL ) |
| else WRITE_PROPERTY( FilterFlags, FLAG_DEPRECATED) |
| else WRITE_PROPERTY( FilterOptions, FLAG_MODEL ) |
| else WRITE_PROPERTY( FrameName, FLAG_MODEL ) |
| else WRITE_PROPERTY( Hidden, FLAG_MODEL ) |
| else WRITE_PROPERTY( HierarchicalDocumentName, FLAG_MODEL ) |
| else WRITE_PROPERTY( OutputStream, 0 ) |
| else WRITE_PROPERTY( InputStream, 0 ) |
| else WRITE_PROPERTY( InteractionHandler, 0 ) |
| else WRITE_PROPERTY( JumpMark, 0 ) |
| else WRITE_PROPERTY( MediaType, FLAG_MODEL ) |
| else WRITE_PROPERTY( OpenFlags, FLAG_DEPRECATED ) |
| else WRITE_PROPERTY( OpenNewView, 0 ) |
| else WRITE_PROPERTY( Overwrite, FLAG_MODEL ) |
| else WRITE_PROPERTY( Password, FLAG_MODEL ) |
| else WRITE_PROPERTY( PosSize, 0 ) |
| else WRITE_PROPERTY( PostData, 0 ) |
| else WRITE_PROPERTY( PostString, FLAG_DEPRECATED ) |
| else WRITE_PROPERTY( Preview, FLAG_MODEL ) |
| else WRITE_PROPERTY( ReadOnly, 0 ) |
| else WRITE_PROPERTY( Referer, FLAG_MODEL ) |
| else WRITE_PROPERTY( SetEmbedded, 0 ) |
| else WRITE_PROPERTY( Silent, 0 ) |
| else WRITE_PROPERTY( StatusIndicator, 0 ) |
| else WRITE_PROPERTY( Storage, FLAG_MODEL ) |
| else WRITE_PROPERTY( Stream, FLAG_MODEL ) |
| else WRITE_PROPERTY( TemplateName, FLAG_DEPRECATED ) |
| else WRITE_PROPERTY( TemplateRegionName, FLAG_DEPRECATED ) |
| else WRITE_PROPERTY( Unpacked, FLAG_MODEL ) |
| else WRITE_PROPERTY( URL, FLAG_MODEL ) |
| else WRITE_PROPERTY( Version, FLAG_MODEL ) |
| else WRITE_PROPERTY( ViewData, FLAG_MODEL ) |
| else WRITE_PROPERTY( ViewId, FLAG_MODEL ) |
| else WRITE_PROPERTY( WinExtent, FLAG_DEPRECATED ) |
| else |
| { |
| m_aAdditionalProperties[nAdditionalCount]=rProp; |
| nAdditionalCount++; |
| } |
| } |
| |
| m_aRegularProperties.realloc(nRegularCount); |
| m_aDeprecatedProperties.realloc(nDeprecatedCount); |
| m_aAdditionalProperties.realloc(nAdditionalCount); |
| m_aModelProperties.realloc(nModelCount); |
| } |
| |
| void MediaDescriptorHelper::impl_init() |
| { |
| AsTemplate = sal_False; |
| ISSET_AsTemplate = sal_False; |
| |
| ISSET_Author = sal_False; |
| ISSET_CharacterSet = sal_False; |
| ISSET_Comment = sal_False; |
| |
| // ::com::sun::star::uno::Any ComponentData; |
| ISSET_ComponentData = sal_False; |
| ISSET_FileName = sal_False; |
| |
| // ::com::sun::star::uno::Any FilterData; |
| ISSET_FilterData = sal_False; |
| ISSET_FilterName = sal_False; |
| ISSET_FilterFlags = sal_False; |
| ISSET_FilterOptions = sal_False; |
| ISSET_FrameName = sal_False; |
| |
| Hidden = sal_False; |
| ISSET_Hidden = sal_False; |
| ISSET_HierarchicalDocumentName = sal_False; |
| ISSET_OutputStream = sal_False; |
| ISSET_InputStream = sal_False; |
| ISSET_InteractionHandler = sal_False; |
| ISSET_JumpMark = sal_False; |
| ISSET_MediaType = sal_False; |
| ISSET_OpenFlags = sal_False; |
| OpenNewView = sal_False; |
| ISSET_OpenNewView = sal_False; |
| Overwrite = sal_False; |
| ISSET_Overwrite = sal_False; |
| ISSET_Password = sal_False; |
| |
| // ::com::sun::star::awt::Rectangle PosSize; |
| ISSET_PosSize = sal_False; |
| |
| // ::com::sun::star::uno::Sequence< sal_Int8 > PostData; |
| ISSET_PostData = sal_False; |
| ISSET_PostString = sal_False; |
| Preview = sal_False; |
| ISSET_Preview = sal_False; |
| ReadOnly = sal_False; |
| ISSET_ReadOnly = sal_False; |
| ISSET_Referer = sal_False; |
| ISSET_StatusIndicator = sal_False; |
| Silent = sal_False; |
| ISSET_Silent = sal_False; |
| ISSET_TemplateName = sal_False; |
| ISSET_TemplateRegionName = sal_False; |
| Unpacked = sal_False; |
| ISSET_Unpacked = sal_False; |
| ISSET_URL = sal_False; |
| Version = 0; |
| ISSET_Version = sal_False; |
| |
| // ::com::sun::star::uno::Any ViewData; |
| ISSET_ViewData = sal_False; |
| ViewId = 0; |
| ISSET_ViewId = sal_False; |
| |
| ISSET_WinExtent = sal_False; |
| |
| ISSET_Storage = sal_False; |
| ISSET_Stream = sal_False; |
| } |
| |
| MediaDescriptorHelper::~MediaDescriptorHelper() |
| { |
| |
| } |
| |
| uno::Sequence< beans::PropertyValue > MediaDescriptorHelper |
| ::getReducedForModel() |
| { |
| return m_aModelProperties; |
| } |
| } |