secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/util/XMLNetAccessor.hpp
changeset 0 ba25891c3a9e
child 1 c42dffbd5b4f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/util/XMLNetAccessor.hpp	Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+/*
+ * 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
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $Id: XMLNetAccessor.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(XMLNETACCESSOR_HPP)
+#define XMLNETACCESSOR_HPP
+
+#include <xercesc/util/XMLURL.hpp>
+#include <xercesc/util/XMLException.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+class BinInputStream;
+
+//  This class holds advanced informations about the HTTP connection
+class XMLUTIL_EXPORT XMLNetHTTPInfo
+{
+public:
+    XMLNetHTTPInfo();
+
+    typedef enum {
+        GET,
+        PUT,
+        POST
+    } HTTPMethod;
+
+    // -----------------------------------------------------------------------
+    //  Data members
+    //
+    //  fHTTPMethod
+    //      The type of the HTTP request
+    //
+    //  fHeaders
+    //      The extra headers that will be sent as part of the request; the format is
+    //      Header1: Value\r\nHeader2: Value\r\n
+    //
+    //  fHeadersLen
+    //      The length of the string pointed by fHeaders, in bytes
+    //
+    //  fPayload
+    //      The extra data that will be sent after the headers; in the case of a PUT
+    //      operation, this is the content of the resource being posted. It can be binary data
+    //
+    //  fPayloadLen
+    //      The length of the binary buffer pointed by fPayload, in bytes
+    //
+    HTTPMethod      fHTTPMethod;
+    const char*     fHeaders;
+    int             fHeadersLen;
+    const char*     fPayload;
+    int             fPayloadLen;
+};
+
+inline XMLNetHTTPInfo::XMLNetHTTPInfo()
+:fHTTPMethod(XMLNetHTTPInfo::GET),
+ fHeaders(0),
+ fHeadersLen(0),
+ fPayload(0),
+ fPayloadLen(0)
+{
+}
+
+
+//
+//  This class is an abstract interface via which the URL class accesses
+//  net access services. When any source URL is not in effect a local file
+//  path, then the URL class is used to look at it. Then the URL class can
+//  be asked to make a binary input stream via which the referenced resource
+//  can be read in.
+//
+//  The URL class will use an object derived from this class to create a
+//  binary stream for the URL to return. The object it uses is provided by
+//  the platform utils, and is actually provided by the per-platform init
+//  code so each platform can decide what actual implementation it wants to
+//  use.
+//
+class XMLUTIL_EXPORT XMLNetAccessor : public XMemory
+{
+public :
+    // -----------------------------------------------------------------------
+    //  Virtual destructor
+    // -----------------------------------------------------------------------
+    virtual ~XMLNetAccessor()
+    {
+    }
+
+
+    // -----------------------------------------------------------------------
+    //  The virtual net accessor interface
+    // -----------------------------------------------------------------------
+    virtual const XMLCh* getId() const = 0;
+
+    virtual BinInputStream* makeNew
+    (
+        const   XMLURL&                 urlSrc,
+        const   XMLNetHTTPInfo*         httpInfo=0
+    ) = 0;
+
+
+protected :
+    // -----------------------------------------------------------------------
+    //  Hidden constructors
+    // -----------------------------------------------------------------------
+    XMLNetAccessor()
+    {
+    }
+
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    XMLNetAccessor(const XMLNetAccessor&);
+    XMLNetAccessor& operator=(const XMLNetAccessor&);
+};
+
+MakeXMLException(NetAccessorException, XMLUTIL_EXPORT)
+
+XERCES_CPP_NAMESPACE_END
+
+#endif