1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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 .
22 #include <rtl/ustring.hxx>
26 /** @short can be used to detect, if a target name (used e.g. for XFrame.findFrame())
27 has a special meaning or can be used as normal frame name (e.g. for XFrame.setName()).
34 /** @short it's used at the following interfaces to classify
37 enum class ESpecialTarget
49 /** @short it checks the given unknown target name,
50 if it's the expected special one.
52 @note An empty target is similar to "_self"!
55 must be the unknown target name, which should be checked.
58 represent the expected target.
60 @return It returns <TRUE/> if <var>sCheckTarget</var> represent
61 the expected <var>eSpecialTarget</var> value; <FALSE/> otherwise.
63 static bool matchSpecialTarget(std::u16string_view sCheckTarget
,
64 ESpecialTarget eSpecialTarget
);
66 /** @short it checks, if the given name can be used
67 to set it at a frame using XFrame.setName() method.
69 @descr Because we handle special targets in a hard coded way
70 (means we do not check the real name of a frame then)
71 such named frames will never be found!
73 And in case such special names can exists one times only
74 by definition inside the same frame tree (e.g. _beamer and
75 OFFICE_HELP_TASK) it's not a good idea to allow anything here :-)
77 Of course we can't check unknown names, which are not special ones.
78 But we decide, that it's not allowed to use "_" as first sign
79 (because we reserve this letter for our own purposes!)
80 and the value must not a well known special target.
83 the new frame name, which should be checked.
85 static bool isValidNameForFrame(std::u16string_view sName
);
88 } // namespace framework
90 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */