00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef ARCHON_X3D_PROXY_APPLICATION_H
00021 #define ARCHON_X3D_PROXY_APPLICATION_H
00022
00023 #include <archon/x3d/proxy/context.H>
00024
00025 namespace Archon
00026 {
00027 namespace X3D
00028 {
00029 namespace Proxy
00030 {
00031 struct Session;
00032
00033 struct Application: ExecutionContext
00034 {
00035 static Ref<Application> create(Ref<Session> s, Uri baseUri)
00036 {
00037 return s->createApplication(baseUri);
00038 }
00039
00040 static Ref<Application> load(Ref<Session> s, Uri uri)
00041 {
00042 return s->loadApplication(uri);
00043 }
00044
00045 void launch();
00046
00047 private:
00048 friend struct Session;
00049
00050 Application(Session *s, unsigned long id): ExecutionContext(s, id) {}
00051 };
00052 }
00053 }
00054 }
00055
00056 #endif // ARCHON_X3D_PROXY_APPLICATION_H