/usr/include/libcmis-0.5/libcmis/repository.hxx is in libcmis-dev 0.5.1-2ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | /* libcmis
* Version: MPL 1.1 / GPLv2+ / LGPLv2+
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License or as specified alternatively below. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* Major Contributor(s):
* Copyright (C) 2011 Cédric Bosdonnat <cbosdo@users.sourceforge.net>
*
*
* All Rights Reserved.
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPLv2+"), or
* the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
* in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable
* instead of those above.
*/
#ifndef _REPOSITORY_HXX_
#define _REPOSITORY_HXX_
#include <map>
#include <string>
#include <boost/shared_ptr.hpp>
#include <libxml/tree.h>
namespace libcmis
{
/** Class representing a repository and its infos.
\sa 2.2.2.2 section of the CMIS specifications
*/
class Repository
{
public:
enum Capability
{
ACL,
AllVersionsSearchable,
Changes,
ContentStreamUpdatability,
GetDescendants,
GetFolderTree,
OrderBy,
Multifiling,
PWCSearchable,
PWCUpdatable,
Query,
Renditions,
Unfiling,
VersionSpecificFiling,
Join
};
protected:
std::string m_id;
std::string m_name;
std::string m_description;
std::string m_vendorName;
std::string m_productName;
std::string m_productVersion;
std::string m_rootId;
std::string m_cmisVersionSupported;
boost::shared_ptr< std::string > m_thinClientUri;
boost::shared_ptr< std::string > m_principalAnonymous;
boost::shared_ptr< std::string > m_principalAnyone;
std::map< Capability, std::string > m_capabilities ;
Repository( );
void initializeFromNode( xmlNodePtr node );
public:
Repository( xmlNodePtr node );
virtual ~Repository( ) { };
std::string getId( ) const;
std::string getName( ) const;
std::string getDescription( ) const;
std::string getVendorName( ) const;
std::string getProductName( ) const;
std::string getProductVersion( ) const;
std::string getRootId( ) const;
std::string getCmisVersionSupported( ) const;
boost::shared_ptr< std::string > getThinClientUri( ) const;
boost::shared_ptr< std::string > getPrincipalAnonymous( ) const;
boost::shared_ptr< std::string > getPrincipalAnyone( ) const;
std::string getCapability( Capability capability ) const;
/** Wrapper function providing the capability as a boolean value.
If the capability value is not a boolean, returns false.
*/
bool getCapabilityAsBool( Capability capability ) const;
std::string toString( ) const;
private:
static std::map< Capability, std::string > parseCapabilities( xmlNodePtr node );
};
typedef ::boost::shared_ptr< Repository > RepositoryPtr;
}
#endif
|