/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/// Specifies a policy type, to be used with SetBACName(). Getters always use IntellectualProperty for now. enumclass SfxClassificationPolicyType
{
ExportControl = 1,
NationalSecurity = 2,
IntellectualProperty = 3
};
/// Shared code to handle Business Authorization Identification and Labeling Scheme (BAILS) properties. class SFX2_DLLPUBLIC SfxClassificationHelper
{ class SAL_DLLPRIVATE Impl;
std::unique_ptr<Impl> m_pImpl;
public: /// Does the document have any BAILS properties? staticbool IsClassified( const css::uno::Reference<css::document::XDocumentProperties>& xDocumentProperties); /// Checks if pasting from xSource to xDestination would leak information. static SfxClassificationCheckPasteResult
CheckPaste(const css::uno::Reference<css::document::XDocumentProperties>& xSource, const css::uno::Reference<css::document::XDocumentProperties>& xDestination); /// Wrapper around CheckPaste(): informs the user if necessary and finds out if the paste can be continued or not. staticbool ShowPasteInfo(SfxClassificationCheckPasteResult eResult);
SfxClassificationHelper( const css::uno::Reference<css::document::XDocumentProperties>& xDocumentProperties, bool bUseLocalizedPolicy = true);
~SfxClassificationHelper(); /// Get the currently selected category for eType. const OUString& GetBACName(SfxClassificationPolicyType eType) const; /// Return all possible valid category names, based on the policy.
std::vector<OUString> GetBACNames(); /// Return all possible valid category identifiers, based on the policy.
std::vector<OUString> GetBACIdentifiers(); /// Get the currently selected category abbreviation for eType. Returns full name if no abbreviation defined. const OUString& GetAbbreviatedBACName(const OUString& sFullName); /// Get the currently selected category for the identifier.
OUString GetBACNameForIdentifier(std::u16string_view sIdentifier); /// Return all possible valid abbreviated category names, based on the policy.
std::vector<OUString> GetAbbreviatedBACNames(); /// Setting this sets all the other properties, based on the policy. void SetBACName(const OUString& rName, SfxClassificationPolicyType eType); /// Returns the class with the higher priority (based on sensitivity).
OUString GetHigherClass(const OUString& first, const OUString& second); /// If GetImpactScale() and GetImpactLevel*() will return something meaningful. bool HasImpactLevel();
InfobarType GetImpactLevelType(); /// Larger value means more confidential.
sal_Int32 GetImpactLevel(); /// Comparing the GetImpactLevel() result is only meaningful when the impact scale is the same.
OUString GetImpactScale();
OUString GetDocumentWatermark(); /// The selected category has some content for the document header. bool HasDocumentHeader(); /// The selected category has some content for the document footer. bool HasDocumentFooter(); void UpdateInfobar(SfxViewFrame& rViewFrame);
/// Does a best-effort conversion of rType to SfxClassificationPolicyType. static SfxClassificationPolicyType stringToPolicyType(std::u16string_view rType); /// Returns the string representation of a SfxClassificationPolicyType element. staticconst OUString& policyTypeToString(SfxClassificationPolicyType eType);
/// Brief text located at the top of each document's pages. staticconst OUString& PROP_DOCHEADER(); /// Brief text located at the bottom of each document's pages. staticconst OUString& PROP_DOCFOOTER(); /// Brief text formatted as a watermark on each document's page. staticconst OUString& PROP_DOCWATERMARK(); /// Get the property prefix for the IntellectualProperty policy type. staticconst OUString& PROP_PREFIX_INTELLECTUALPROPERTY();
namespace sfx
{ /// Specifies the origin: either defined by the BAF policy or manual via. the advanced classification dialog enumclass ClassificationCreationOrigin
{
NONE,
BAF_POLICY,
MANUAL
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.