/* -*- 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/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef __com_sun_star_ucb_HierarchyContentProvider_idl__ #define __com_sun_star_ucb_HierarchyContentProvider_idl__ #include module com { module sun { module star { module ucb { /** The Hierarchy Content Provider (HCP) implements a ContentProvider for the UniversalContentBroker (UCB).

It provides access to a persistent, customizable hierarchy of contents (folders and links). @see com::sun::star::ucb::Content */ published service HierarchyContentProvider { /** provides three types of contents: Link, Folder and Root Folder.

HCP Contents

  1. A HCP Link (HierarchyLinkContent) is a content which points to another (UCB) content. It is always contained in HCP Folder. A HCP Link has no children.
  2. A HCP Folder (HierarchyFolderContent) is a container for other HCP Folders and HCP Links.
  3. There is at most one instance of a HCP Root Folder ( HierarchyRootFolderContent ) at a time. All other HCP contents are children of this folder. The HCP Root Folder can contain HCP Folders and HCP Links. It has the URL "vnd.sun.star.hier:/".

URL Scheme for HCP Contents

Each HCP content has an identifier corresponding to the following scheme:

Examples:

*/ interface com::sun::star::ucb::XContentProvider; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */