Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : :
29 : : #include "TransformerActions.hxx"
30 : :
31 : :
32 : : using ::rtl::OUString;
33 : :
34 : : using namespace ::osl;
35 : : using namespace ::xmloff::token;
36 : : using namespace ::com::sun::star::uno;
37 : :
38 [ + - ]: 851 : XMLTransformerActions::XMLTransformerActions( XMLTransformerActionInit *pInit )
39 : : {
40 [ + - ]: 851 : if( pInit )
41 : : {
42 : 851 : XMLTransformerActions::key_type aKey;
43 : 851 : XMLTransformerActions::mapped_type aData;
44 [ + + ]: 56984 : while( pInit->m_nActionType != XML_TACTION_EOT )
45 : : {
46 : 56133 : aKey.m_nPrefix = pInit->m_nPrefix;
47 [ + - ]: 56133 : aKey.SetLocalName( pInit->m_eLocalName );
48 : :
49 : : OSL_ENSURE( find( aKey ) == end(), "duplicate action map entry" );
50 : :
51 : 56133 : aData.m_nActionType = pInit->m_nActionType;
52 : 56133 : aData.m_nParam1 = pInit->m_nParam1;
53 : 56133 : aData.m_nParam2 = pInit->m_nParam2;
54 : 56133 : aData.m_nParam3 = pInit->m_nParam3;
55 : 56133 : XMLTransformerActions::value_type aVal( aKey, aData );
56 : :
57 [ + - ]: 56133 : insert( aVal );
58 : 56133 : ++pInit;
59 : 56984 : }
60 : : }
61 : 851 : }
62 : :
63 : 851 : XMLTransformerActions::~XMLTransformerActions()
64 : : {
65 : 851 : }
66 : :
67 : 0 : void XMLTransformerActions::Add( XMLTransformerActionInit *pInit )
68 : : {
69 [ # # ]: 0 : if( pInit )
70 : : {
71 : 0 : XMLTransformerActions::key_type aKey;
72 : 0 : XMLTransformerActions::mapped_type aData;
73 [ # # ]: 0 : while( pInit->m_nActionType != XML_TACTION_EOT )
74 : : {
75 : 0 : aKey.m_nPrefix = pInit->m_nPrefix;
76 [ # # ]: 0 : aKey.SetLocalName( pInit->m_eLocalName );
77 [ # # ]: 0 : XMLTransformerActions::iterator aIter = find( aKey );
78 [ # # ][ # # ]: 0 : if( aIter == end() )
79 : : {
80 : 0 : aData.m_nActionType = pInit->m_nActionType;
81 : 0 : aData.m_nParam1 = pInit->m_nParam1;
82 : 0 : aData.m_nParam2 = pInit->m_nParam2;
83 : 0 : aData.m_nParam3 = pInit->m_nParam3;
84 : 0 : XMLTransformerActions::value_type aVal( aKey, aData );
85 [ # # ]: 0 : insert( aVal );
86 : : }
87 : :
88 : 0 : ++pInit;
89 : 0 : }
90 : : }
91 : 0 : }
92 : :
93 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|