tdf#154285 Check upper bound of arguments in SbRtl_Minute function
[LibreOffice.git] / framework / source / inc / loadenv / targethelper.hxx
blob1f0d93d7edce5f6b3d90ffcb0d9b248429592f51
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 #pragma once
22 #include <rtl/ustring.hxx>
24 namespace framework{
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()).
29 class TargetHelper
32 public:
34 /** @short it's used at the following interfaces to classify
35 target names.
37 enum class ESpecialTarget
39 Blank,
40 Default,
41 Beamer,
42 HelpTask
45 // interface
47 public:
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"!
54 @param sCheckTarget
55 must be the unknown target name, which should be checked.
57 @param eSpecialTarget
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.
82 @param sName
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: */