20#ifndef _SAIEXECUTIONCONTEXT_H_ABSTRACT_
21#define _SAIEXECUTIONCONTEXT_H_ABSTRACT_
23#include "SAIGlobals.h"
26#define SCRIPTED_ENCODING 1
27#define ASCII_ENCODING 2
28#define CLASSIC_VRML_ENCODING 3
30#define BINARY_ENCODING 5
32#define BIFS_ENCODING 6
33#define LAST_STD_ENCODING = 100
38namespace freeWRLSAI_cpp
42 class saiProtoDeclaration;
50 saiGenericContext = 0,
66 virtual saiContextType getContextType() = 0;
68 virtual const char* getSpecificationVersion() = 0;
70 virtual int getEncoding() = 0;
72 virtual const char* getWorldURL() = 0;
74 virtual saiNode* getNode(
const char* strNodeName,
int nAction) = 0;
76 virtual saiNode* createNode(
const char* strNodeType) = 0;
78 virtual saiNode* createProto(
const char* strProtoName) = 0;
80 virtual saiProtoDeclaration* getProtoDeclaration(
const char* strProtoName) = 0;
82 virtual void protoDeclarationHandling(
const char* strProtoName,
saiNode* pNode,
int nAction) = 0;
84 virtual saiProtoDeclaration* getExternProtoDeclaration(
const char* strProtoName) = 0;
86 virtual void externProtoDeclarationHandling(
const char* strProtoName,
saiNode* pNode,
int nAction) = 0;
88 virtual std::vector<saiNode*>* getRootNodes() = 0;
90 virtual std::vector<saiRoute*>* getRoutes() = 0;
92 virtual void dispose() = 0;
95 virtual std::map<std::string, saiComponent*>* getComponents() = 0;