RealityServer Web Services API Programmer's Manual

istate.h File Reference

Description

RealityServer(R) Web Services state API. See State Processing.

Code Example

istate.h

‎/******************************************************************************
 * Copyright 2010-2020 MIGENIUS PTY LTD, Australia. All rights reserved.
 *
 * Portions Copyright 1986-2011 by mental images GmbH, Fasanenstr. 81,
 * D-10623 Berlin, Germany. All rights reserved.
 *****************************************************************************/
//*****************************************************************************

#ifndef MI_RS_WEB_SERVICES_ISTATE_H
#define MI_RS_WEB_SERVICES_ISTATE_H

#include <mi/base/interface_declare.h>

namespace mi {
class IMap;
class IString;
namespace http {
class IRequest;
} // namespace http

namespace neuraylib {
class ITransaction;
class IPlugin_api;
} // namespace neuraylib

namespace nservices {
class IEvent_context;
class IFactory;
} // namespace nservices

namespace rswservices {

class IState_context : public
    mi::base::Interface_declare<0xC7763852,0x4437,0x46DB,0x91,0x1E,0xB3,0x64,0x1C,0x7F,0x7B,0x92>
{
public:
    virtual bool set_execution_scope_name(const char *scope_name) = 0;

    virtual bool set_user_state_name(const char *state_name) = 0;

    virtual neuraylib::ITransaction *get_user_state_transaction() = 0;

    virtual bool create_user_state(const char *name, Uint32 timeout) = 0;

    virtual bool delete_user_state(const char *name) = 0;

    virtual IMap *get_attachments() const = 0;

    virtual nservices::IEvent_context *get_event_context() const = 0;

    virtual neuraylib::IPlugin_api *get_plugin_api() const = 0;

    virtual nservices::IFactory *get_factory() const = 0;
};

class IState : public
    mi::base::Interface_declare<0xC2A4C125,0x2197,0x4DBB,0x85,0x77,0x12,0x7B,0xE3,0xAD,0xB4,0x20>
{
public:
    virtual const char *get_name() const = 0;

    virtual bool initialize(IState_context *context, http::IRequest *request) = 0;

    virtual bool initialize(IState_context *context, IString *url, const IMap *arguments) = 0;
};

 // end group mi_rswservices_state
} // namespace rswservices
} // namespace mi

#endif // MI_RS_WEB_SERVICES_ISTATE_H

Namespaces

namespace mi
namespace mi::http
namespace mi::neuraylib
namespace mi::nservices
namespace 
Namespace for the RealityServer Web Services API. More...

Classes

class 
Implements a state processor. More...
class 
Context class used by state modules. More...