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 <loadenv/targethelper.hxx>
30 : :
31 : : namespace framework{
32 : :
33 : 12041 : sal_Bool TargetHelper::matchSpecialTarget(const ::rtl::OUString& sCheckTarget ,
34 : : ESpecialTarget eSpecialTarget)
35 : : {
36 [ - - - + : 12041 : switch(eSpecialTarget)
+ + - +
- ]
37 : : {
38 : : case E_SELF :
39 : : return (
40 : 0 : (sCheckTarget.isEmpty() ) ||
41 [ # # ][ # # ]: 0 : (sCheckTarget.equals(SPECIALTARGET_SELF))
[ # # ]
42 [ # # # # ]: 0 : );
43 : :
44 : : case E_PARENT :
45 : 0 : return (sCheckTarget.equals(SPECIALTARGET_PARENT));
46 : :
47 : : case E_TOP :
48 : 0 : return (sCheckTarget.equals(SPECIALTARGET_TOP));
49 : :
50 : : case E_BLANK :
51 : 4102 : return (sCheckTarget.equals(SPECIALTARGET_BLANK));
52 : :
53 : : case E_DEFAULT :
54 : 3813 : return (sCheckTarget.equals(SPECIALTARGET_DEFAULT));
55 : :
56 : : case E_BEAMER :
57 : 2063 : return (sCheckTarget.equals(SPECIALTARGET_BEAMER));
58 : :
59 : : case E_MENUBAR :
60 : 0 : return (sCheckTarget.equals(SPECIALTARGET_MENUBAR));
61 : :
62 : : case E_HELPTASK :
63 : 2063 : return (sCheckTarget.equals(SPECIALTARGET_HELPTASK));
64 : : default:
65 : 12041 : return sal_False;
66 : : }
67 : : }
68 : :
69 : 2065 : sal_Bool TargetHelper::isValidNameForFrame(const ::rtl::OUString& sName)
70 : : {
71 : : // some special targets are realy special ones :-)
72 : : // E.g. the are realy used to locate one frame inside the frame tree.
73 [ + + ][ + + : 6191 : if (
+ - + + ]
74 : 2065 : (sName.isEmpty() ) ||
75 : 2063 : (TargetHelper::matchSpecialTarget(sName, E_HELPTASK)) ||
76 : 2063 : (TargetHelper::matchSpecialTarget(sName, E_BEAMER) )
77 : : )
78 : 4 : return sal_True;
79 : :
80 : : // all other names must be checked more general
81 : : // special targets starts with a "_".
82 : 2065 : return (sName.indexOf('_') != 0);
83 : : }
84 : :
85 : : } // namespace framework
86 : :
87 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|