| /************************************************************** |
| * |
| * 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_scripting.hxx" |
| |
| #include "ScriptElement.hxx" |
| #include <util/util.hxx> |
| |
| using namespace ::rtl; |
| using namespace ::com::sun::star; |
| using namespace ::com::sun::star::uno; |
| |
| typedef ::std::vector < ::std::pair < ::rtl::OUString, bool > > dependencies_vec; |
| typedef ::std::vector < ::std::pair < ::rtl::OUString, ::rtl::OUString > > deliveries_vec; |
| |
| namespace scripting_impl |
| { |
| |
| //************************************************************************* |
| /** |
| Construct a ScriptElement from a ScriptData object |
| |
| @param sII |
| the ScriptDataObject |
| */ |
| ScriptElement::ScriptElement( ScriptData & sII ) : |
| XMLElement( OUSTR( "parcel" ) ), |
| m_sII( sII ) |
| { |
| OSL_TRACE( "ScriptElement ctor called\n" ); |
| |
| addAttribute( OUSTR( "language" ), sII.language ); |
| addAttribute( OUSTR( "xmlns:parcel" ), OUSTR( "scripting.dtd" ) ); |
| XMLElement* xScriptElt = new XMLElement( OUSTR( "script" ) ); |
| xScriptElt->addAttribute( OUSTR( "language" ), sII.language ); |
| Reference < xml::sax::XAttributeList > xal( xScriptElt ); |
| addSubElement( xal ); |
| |
| strpair_map::const_iterator mp_it = sII.locales.begin(); |
| strpair_map::const_iterator mp_itend = sII.locales.end(); |
| |
| for( ; mp_it != mp_itend; ++mp_it ) |
| { |
| XMLElement* xel = new XMLElement( OUSTR( "locale" ) ); |
| xel->addAttribute( OUSTR( "lang" ), mp_it->first ); |
| |
| { |
| XMLElement* subxel = new XMLElement( OUSTR( "displayname" ) ); |
| subxel->addAttribute( OUSTR( "value" ), mp_it->second.first ); |
| Reference < xml::sax::XAttributeList > subxattl( subxel ); |
| xel->addSubElement( subxattl ); |
| } |
| { |
| XMLElement* subxel = new XMLElement( OUSTR( "description" ), |
| mp_it->second.second ); |
| Reference< xml::sax::XAttributeList > subxattl( subxel ); |
| xel->addSubElement( subxattl ); |
| } |
| |
| Reference < xml::sax::XAttributeList > xal( xel ); |
| xScriptElt->addSubElement( xal ); |
| } |
| |
| { |
| XMLElement* xel = new XMLElement( OUSTR( "functionname" ) ); |
| xel->addAttribute( OUSTR( "value" ), sII.functionname ); |
| Reference < xml::sax::XAttributeList > xal( xel ); |
| xScriptElt->addSubElement( xal ); |
| } |
| |
| { |
| XMLElement* xel = new XMLElement( OUSTR( "logicalname" ) ); |
| xel->addAttribute( OUSTR( "value" ), sII.logicalname ); |
| Reference < xml::sax::XAttributeList > xal( xel ); |
| xScriptElt->addSubElement( xal ); |
| } |
| |
| props_vec::const_iterator vp_it = sII.languagedepprops.begin(); |
| props_vec::const_iterator vp_itend = sII.languagedepprops.end(); |
| |
| if ( vp_it != vp_itend ) |
| { |
| XMLElement* xel = new XMLElement( OUSTR( "languagedepprops" ) ); |
| |
| for( ; vp_it != vp_itend ; ++vp_it ) |
| { |
| XMLElement* subxel = new XMLElement( OUSTR( "prop" ) ); |
| subxel->addAttribute( OUSTR( "name" ), vp_it->first ); |
| subxel->addAttribute( OUSTR( "value" ), vp_it->second ); |
| Reference < xml::sax::XAttributeList > subxattl( subxel ); |
| xel->addSubElement( subxattl ); |
| } |
| |
| Reference < xml::sax::XAttributeList > xal( xel ); |
| xScriptElt->addSubElement( xal ); |
| } |
| |
| filesets_map::const_iterator fm_it = sII.filesets.begin(); |
| filesets_map::const_iterator fm_itend = sII.filesets.end(); |
| |
| for( ; fm_it != fm_itend; ++fm_it ) |
| { |
| XMLElement* xel = new XMLElement( OUSTR( "fileset" ) ); |
| xel->addAttribute( OUSTR( "name" ), fm_it->first ); |
| |
| vp_it = fm_it->second.first.begin(); |
| vp_itend = fm_it->second.first.end(); |
| |
| for( ; vp_it != vp_itend; ++vp_it ) |
| { |
| XMLElement* subxel = new XMLElement( OUSTR( "prop" ) ); |
| subxel->addAttribute( OUSTR( "name" ), vp_it->first ); |
| subxel->addAttribute( OUSTR("value"), vp_it->second ); |
| Reference < xml::sax::XAttributeList > subxattl( subxel ); |
| xel->addSubElement( subxattl ); |
| } |
| |
| strpairvec_map::const_iterator sm_it = fm_it->second.second.begin(); |
| strpairvec_map::const_iterator sm_itend = fm_it->second.second.end(); |
| |
| if( sm_it != sm_itend ) |
| { |
| // was there a purpose for contstructing this |
| // XMLElement* subxel = new XMLElement( OUSTR( "file" ) ); |
| xel->addAttribute( OUSTR( "name" ), sm_it->first ); |
| |
| } |
| } |
| } |
| |
| //************************************************************************* |
| ScriptElement::~ScriptElement() SAL_THROW(()) |
| { |
| } |
| |
| } // namespace scripting_impl |