/usr/include/sipxtapi/net/XmlRpcResponse.h is in libsipxtapi-dev 3.3.0~test17-2.1.
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 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | //
// Copyright (C) 2004-2006 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// $$
///////////////////////////////////////////////////////////////////////////////
#ifndef _XMLRPCRESPPONSE_H_
#define _XMLRPCRESPPONSE_H_
// SYSTEM INCLUDES
// APPLICATION INCLUDES
#include <utl/UtlString.h>
#include <utl/UtlSList.h>
#include <xmlparser/tinyxml.h>
#include "net/Url.h"
#include "net/XmlRpcBody.h"
// DEFINES
#define ILL_FORMED_CONTENTS_FAULT_STRING "Ill-formed XML contents"
#define METHOD_NAME_FAULT_STRING "Method name is missing"
#define UNREGISTERED_METHOD_FAULT_STRING "Method has not been registered"
#define AUTHENTICATION_REQUIRED_FAULT_STRING "Authentication is required"
#define EMPTY_PARAM_VALUE_FAULT_STRING "Empty param value"
#define CONNECTION_FAILURE_FAULT_STRING "Connection Failed"
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// for backward compatibility with old #define codes
#define ILL_FORMED_CONTENTS_FAULT_CODE XmlRpcResponse::IllFormedContents
#define METHOD_NAME_FAULT_CODE XmlRpcResponse::InvalidMethodName
#define UNREGISTERED_METHOD_FAULT_CODE XmlRpcResponse::UnregisteredMethod
#define AUTHENTICATION_REQUIRED_FAULT_CODE XmlRpcResponse::AuthenticationRequired
#define EMPTY_PARAM_VALUE_FAULT_CODE XmlRpcResponse::EmptyParameterValue
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
/**
* This object is used to create a XML-RPC response to a XmlRpcRequest request.
* setResponse() is used for creating the response, and getResponse() is
* used for getting the value from the request. Furthermore, setFault() is for
* creating a fault response, and getFault() is used for getting the fault code
* and fault string in the fault response.
*
*/
class XmlRpcResponse
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
/* ============================ CREATORS ================================== */
/// Contruct a XML-RPC response
XmlRpcResponse();
/// Destructor
virtual ~XmlRpcResponse();
/// Fault code values.
typedef enum
{
IllFormedContents = -1, ///< xmlrpc message was not well formed xml
InvalidMethodName = -2, ///< name is not syntactically valid
UnregisteredMethod = -3, ///< no server found for requested method
AuthenticationRequired = -4, ///< request was not properly authenticated
EmptyParameterValue = -5, ///< missing value for a required parameter
ConnectionFailure = -6, ///< unable to connect to service
HttpFailure = -7 ///< http returned a non-2xx status
} FaultCode;
/**
* Values used by this subsystem in the fault code;
* Applications may use these or any integer value.
*/
/* ============================ MANIPULATORS ============================== */
/// Set the XML-RPC response
bool setResponse(UtlContainable* value); ///< value for the response
/// Set the fault code and fault string in a fault response
bool setFault(int faultCode, const char* faultString);
/**<
* This function will create a fault response
*
*/
/// Get the XML-RPC response
bool getResponse(UtlContainable*& value); ///< value for the param
/// Get the fault code and fault string from the XML-RPC response
void getFault(int* faultCode, UtlString& faultString);
/// Parse the XML-RPC response
bool parseXmlRpcResponse(UtlString& responseContent); ///< response content from XML-RPC request
/// Get the content of the response
XmlRpcBody* getBody();
/* ============================ ACCESSORS ================================= */
/* ============================ INQUIRY =================================== */
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
/// Parse a value in the XML-RPC response
bool parseValue(TiXmlNode* valueNode);
/// Parse an array in the XML-RPC response
bool parseArray(TiXmlNode* valueNode, UtlSList* array);
/// Parse a struct in the XML-RPC response
bool parseStruct(TiXmlNode* valueNode, UtlHashMap* memebers);
// Clean up the memory in a UtlContainable
void cleanUp(UtlContainable* value);
/// XML-RPC body
XmlRpcBody* mpResponseBody;
/// Value for the XML-RPC response
UtlContainable* mResponseValue;
/// Fault code
int mFaultCode;
/// Fault string
UtlString mFaultString;
/// Disabled copy constructor
XmlRpcResponse(const XmlRpcResponse& rXmlRpcResponse);
/// Disabled assignment operator
XmlRpcResponse& operator=(const XmlRpcResponse& rhs);
};
/* ============================ INLINE METHODS ============================ */
#endif // _XMLRPCRESPPONSE_H_
|