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 #ifndef INCLUDED_UCB_SOURCE_UCP_WEBDAV_DAVTYPES_HXX
23 #define INCLUDED_UCB_SOURCE_UCP_WEBDAV_DAVTYPES_HXX
25 #include <rtl/ustring.hxx>
26 #include <com/sun/star/uno/Any.hxx>
28 namespace http_dav_ucp
34 A class 1 compliant resource MUST meet all "MUST" requirements in all
35 sections of this document.
37 Class 1 compliant resources MUST return, at minimum, the value "1" in
38 the DAV header on all responses to the OPTIONS method.
42 A class 2 compliant resource MUST meet all class 1 requirements and
43 support the LOCK method, the supportedlock property, the
44 lockdiscovery property, the Time-Out response header and the Lock-
45 Token request header. A class "2" compliant resource SHOULD also
46 support the Time-Out request header and the owner XML element.
48 Class 2 compliant resources MUST return, at minimum, the values "1"
49 and "2" in the DAV header on all responses to the OPTIONS method.
52 struct DAVCapabilities
56 bool executable
; // supports "executable" property (introduced by mod_dav)
58 DAVCapabilities() : class1( false ), class2( false ), executable( false ) {}
61 enum Depth
{ DAVZERO
= 0, DAVONE
= 1, DAVINFINITY
= -1 };
63 enum ProppatchOperation
{ PROPSET
= 0, PROPREMOVE
= 1 };
67 ProppatchOperation operation
;
69 com::sun::star::uno::Any value
;
71 ProppatchValue( const ProppatchOperation o
,
73 const com::sun::star::uno::Any
& v
)
74 : operation( o
), name( n
), value( v
) {}
77 } // namespace http_dav_ucp
79 #endif // INCLUDED_UCB_SOURCE_UCP_WEBDAV_DAVTYPES_HXX
81 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */