public static bool alutInitWithoutContext(int[] argcp, string[] argv) { if (initialisationState != InitialisationState.Unintialized) { Alut.alutSetError (ALUT_ERROR_INVALID_OPERATION); return false; } if ((argcp == null) != (argv == null)) { Alut.alutSetError (ALUT_ERROR_INVALID_VALUE); return false; } initialisationState = InitialisationState. ExternalDeviceAndContext; return false; }
public static bool alutInit(int[] argcp, string[] argv) { IntPtr device; IntPtr context; if (initialisationState != InitialisationState.Unintialized) { Alut.alutSetError (ALUT_ERROR_INVALID_OPERATION); return false; } if ((argcp == null) != (argv == null)) { Alut.alutSetError (ALUT_ERROR_INVALID_VALUE); return false; } device = Alc.alcOpenDevice (null); if (device == IntPtr.Zero) { Alut.alutSetError (ALUT_ERROR_OPEN_DEVICE); return false; } context = Alc.alcCreateContext (device, IntPtr.Zero); if (context == IntPtr.Zero) { Alc.alcCloseDevice (device); Alut.alutSetError (ALUT_ERROR_CREATE_CONTEXT); return false; } if (Alc.alcMakeContextCurrent (context) == 0) { Alc.alcDestroyContext (context); Alc.alcCloseDevice (device); Alut.alutSetError (ALUT_ERROR_MAKE_CONTEXT_CURRENT); return false; } initialisationState = InitialisationState.ALUTDeviceAndContext; alutContext = context; return true; }
void app_BeginRequest(object sender, EventArgs e) { int c = 0; switch (InitState) { case InitialisationState.InProgress: while (InitState == InitialisationState.InProgress) { System.Threading.Thread.Sleep(500); if (++c > 30) { HttpContext.Current.Response.Write("The website is being initialised. Please try again in a minute or so."); HttpContext.Current.Response.End(); } } break; case InitialisationState.None: InitState = InitialisationState.InProgress; if (((HttpApplication)sender).Application["Sprocket_SystemCore_Instance"] == null) InitialiseSystemCore((HttpApplication)sender); InitState = InitialisationState.Complete; break; } ((WebEvents)SystemCore.Instance["WebEvents"]).FireBeginRequest(sender, e); }
public static bool alutExit() { IntPtr device; if (initialisationState == InitialisationState. Unintialized) { Alut.alutSetError (ALUT_ERROR_INVALID_OPERATION); return false; } if (initialisationState == InitialisationState.ExternalDeviceAndContext) { initialisationState = InitialisationState.Unintialized; return true; } if (!Alut.alutSanityCheck ()) { return false; } if (Alc.alcMakeContextCurrent (IntPtr.Zero) == 0) { Alut.alutSetError (ALUT_ERROR_MAKE_CONTEXT_CURRENT); return false; } device = Alc.alcGetContextsDevice (alutContext); Alc.alcDestroyContext (alutContext); if (Alc.alcGetError (device) != Alc. ALC_NO_ERROR) { Alut.alutSetError (ALUT_ERROR_DESTROY_CONTEXT); return false; } Alc.alcCloseDevice (device); //if (Alc.alcGetError (device) != Alc. ALC_NO_ERROR) //{ // Alut.alutSetError (ALUT_ERROR_CLOSE_DEVICE); // return false; //} initialisationState = InitialisationState. Unintialized; return true; }
public bool ClassInitialize(out string failure) { if (_initialisation == InitialisationState.Initialised) { failure = null; return true; } if (!_classInitialize.Valid) { failure = new TestException(_classInitialize.Error).ToString(); return false; } if (_initialisation == InitialisationState.InitialisationFailed) { failure = _initialisationException.ToString(); return false; } if (_classInitialize.Invoke(null, out failure, new [] { new TestContext(_context) })) { _initialisation = InitialisationState.Initialised; return true; } _initialisationException = failure; _initialisation = InitialisationState.InitialisationFailed; return true; }