hiep fix
This commit is contained in:
63
include/robot_xmlrpcpp/XmlRpcUtil.h
Normal file
63
include/robot_xmlrpcpp/XmlRpcUtil.h
Normal file
@@ -0,0 +1,63 @@
|
||||
#ifndef _XMLRPCUTIL_H_
|
||||
#define _XMLRPCUTIL_H_
|
||||
//
|
||||
// XmlRpc++ Copyright (c) 2002-2003 by Chris Morley
|
||||
//
|
||||
#if defined(_MSC_VER)
|
||||
# pragma warning(disable:4786) // identifier was truncated in debug info
|
||||
#endif
|
||||
|
||||
#ifndef MAKEDEPEND
|
||||
# include <string>
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
# define snprintf _snprintf
|
||||
# define vsnprintf _vsnprintf
|
||||
# define strcasecmp _stricmp
|
||||
# define strncasecmp _strnicmp
|
||||
#elif defined(__BORLANDC__)
|
||||
# define strcasecmp stricmp
|
||||
# define strncasecmp strnicmp
|
||||
#endif
|
||||
|
||||
namespace robot {
|
||||
namespace XmlRpc {
|
||||
|
||||
//! Utilities for XML parsing, encoding, and decoding and message handlers.
|
||||
class XmlRpcUtil {
|
||||
public:
|
||||
// hokey xml parsing
|
||||
//! Returns contents between <tag> and </tag>, updates offset to char after </tag>
|
||||
static std::string parseTag(const char* tag, std::string const& xml, int* offset);
|
||||
|
||||
//! Returns true if the tag is found and updates offset to the char after the tag
|
||||
static bool findTag(const char* tag, std::string const& xml, int* offset);
|
||||
|
||||
//! Returns the next tag and updates offset to the char after the tag, or empty string
|
||||
//! if the next non-whitespace character is not '<'
|
||||
static std::string getNextTag(std::string const& xml, int* offset);
|
||||
|
||||
//! Returns true if the tag is found at the specified offset (modulo any whitespace)
|
||||
//! and updates offset to the char after the tag
|
||||
static bool nextTagIs(const char* tag, std::string const& xml, int* offset);
|
||||
|
||||
|
||||
//! Convert raw text to encoded xml.
|
||||
static std::string xmlEncode(const std::string& raw);
|
||||
|
||||
//! Convert encoded xml to raw text
|
||||
static std::string xmlDecode(const std::string& encoded);
|
||||
|
||||
|
||||
//! Dump messages somewhere
|
||||
static void log(int level, const char* fmt, ...);
|
||||
|
||||
//! Dump error messages somewhere
|
||||
static void error(const char* fmt, ...);
|
||||
|
||||
};
|
||||
} // namespace XmlRpc
|
||||
} // namespace robot
|
||||
|
||||
#endif // _XMLRPCUTIL_H_
|
||||
Reference in New Issue
Block a user