fix baseline build (old cairo) - 'cairo_rectangle_int_t' does not name a type
[LibreOffice.git] / framework / source / inc / loadenv / targethelper.hxx
blobf982d02df824e3de18bbeaa0cb5168548e01062a
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_FRAMEWORK_SOURCE_INC_LOADENV_TARGETHELPER_HXX
21 #define INCLUDED_FRAMEWORK_SOURCE_INC_LOADENV_TARGETHELPER_HXX
23 #include <sal/types.h>
24 #include <rtl/ustring.hxx>
25 #include <targets.h>
27 namespace framework{
29 /** @short can be used to detect, if a target name (used e.g. for XFrame.findFrame())
30 has a special meaning or can be used as normal frame name (e.g. for XFrame.setName()).
32 @author as96863
34 class TargetHelper
37 public:
39 /** @short its used at the following interfaces to classify
40 target names.
42 enum ESpecialTarget
44 E_NOT_SPECIAL ,
45 E_SELF ,
46 E_PARENT ,
47 E_TOP ,
48 E_BLANK ,
49 E_DEFAULT ,
50 E_BEAMER ,
51 E_MENUBAR ,
52 E_HELPAGENT ,
53 E_HELPTASK
56 // interface
58 public:
60 /** @short it checks the given unknown target name,
61 if it's the expected special one.
63 @note An empty target is similar to "_self"!
65 @param sCheckTarget
66 must be the unknown target name, which should be checked.
68 @param eSpecialTarget
69 represent the expected target.
71 @return It returns <TRUE/> if <var>sCheckTarget</var> represent
72 the expected <var>eSpecialTarget</var> value; <FALSE/> otherwise.
74 static bool matchSpecialTarget(const OUString& sCheckTarget ,
75 ESpecialTarget eSpecialTarget);
77 /** @short it checks, if the given name can be used
78 to set it at a frame using XFrame.setName() method.
80 @descr Because we handle special targets in a hard coded way
81 (means we do not check the real name of a frame then)
82 such named frames will never be found!
84 And in case such special names can exists one times only
85 by definition inside the same frame tree (e.g. _beamer and
86 OFFICE_HELP_TASK) its not a good idea to allow anything here :-)
88 Of course we can't check unknown names, which are not special ones.
89 But we decide, that it's not allowed to use "_" as first sign
90 (because we reserve this letter for our own purposes!)
91 and the value must not a well known special target.
93 @param sName
94 the new frame name, which should be checked.
96 static bool isValidNameForFrame(const OUString& sName);
99 } // namespace framework
101 #endif // INCLUDED_FRAMEWORK_SOURCE_INC_LOADENV_TARGETHELPER_HXX
103 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */