iprotocol.h File Reference
Description
RealityServer(R) Web Services protocol API. See Protocol Processing.
Code Example
iprotocol.h
//*****************************************************************************
// Copyright 1986-2011 by mental images GmbH, Fasanenstr. 81, D-10623 Berlin,
// Germany. All rights reserved.
//*****************************************************************************
//*****************************************************************************
#ifndef MI_RS_WEB_SERVICES_IPROTOCOL_H
#define MI_RS_WEB_SERVICES_IPROTOCOL_H
#include <mi/base/interface_declare.h>
namespace mi {
class IDynamic_array;
class IMap;
namespace http {
class IConnection;
class IRequest;
} // namespace http
namespace nservices {
class IEvent_context;
class IFactory;
class IConverter;
class IService_command;
class IUser_type_definition;
} // namespace nservices
namespace rswservices {
class IProtocol_context : public
mi::base::Interface_declare<0x82A6F3F0,0x56A2,0x4D2A,0x84,0x2B,0xE8,0xE2,0x45,0x3F,0x87,0x45>
{
public:
virtual mi::Sint32
set_converter(mi::nservices::IConverter *converter) = 0;
virtual mi::nservices::IConverter *get_converter() const = 0;
virtual IDynamic_array *get_command_array() = 0;
virtual IMap *get_attachments() const = 0;
virtual nservices::IEvent_context *get_event_context() = 0;
virtual nservices::IFactory *get_factory() = 0;
virtual const char *get_command_set(Size idx) const = 0;
virtual const nservices::IService_command *get_command(const char *command_name,
const char *command_set) const = 0;
virtual const nservices::IService_command *get_command(Size idx,
const char *command_set) const = 0;
virtual const nservices::IUser_type_definition *get_user_type(
const char *type_name) const = 0;
virtual const nservices::IUser_type_definition *get_user_type(Size idx) const = 0;
};
class IProtocol : public
mi::base::Interface_declare<0xA6FAB209,0xD94D,0x41CC,0x97,0x28,0xBA,0x2B,0xC0,0x6F,0x64,0x8C>
{
public:
enum Protocol_confidence {
PROTOCOL_CONFIDENCE_OVERRIDE = 4,
PROTOCOL_CONFIDENCE_HIGH = 3,
PROTOCOL_CONFIDENCE_MEDIUM = 2,
PROTOCOL_CONFIDENCE_LOW = 1,
PROTOCOL_CONFIDENCE_NONE = 0,
PROTOCOL_CONFIDENCE_FORCE_32_BIT = 0xffffffffU
};
virtual const char *get_name() const = 0;
virtual Protocol_confidence
test_request(const http::IRequest *request) const = 0;
virtual Sint32
deserialize(IProtocol_context *context, http::IRequest *request) = 0;
virtual Sint32
serialize(IProtocol_context *context,
http::IConnection *connection,
const IDynamic_array *command_responses) = 0;
};
// end group mi_rswservices_protocol
} // namespace rswservices
} // namespace mi
#endif // MI_RS_WEB_SERVICES_IPROTOCOL_H
Namespaces
- namespace mi
- namespace mi::http
- namespace mi::nservices
- namespace
- Namespace for the RealityServer Web Services API. More...