// $Id$ // // Copyright 2007-2008 Cisco Systems Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); you may not // use this file except in compliance with the License. You may obtain a copy // of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the // License for the specific language governing permissions and limitations // under the License. using System; using Etch.Msg; namespace Etch.Support { public class StubHelper { public StubHelper(Delegate del, AsyncMode mode) { this.mode = mode; this.del = del; } /// Constructs a StubHelper which uses synchronous mode to dispatch /// method from message. public StubHelper() : this(AsyncMode.NONE) { } ///Constructs a StubHelper which uses specified mode to ///dispatch method from message. ///param mode public StubHelper(AsyncMode mode) { this.mode = mode; } private AsyncMode mode; private Delegate del; ///true if the mode is AsyncMode.QUEUED. public bool IsQueued() { return mode == AsyncMode.QUEUED; } ///true if the mode is AsyncMode.FREE. public bool IsFree() { return mode == AsyncMode.FREE; } public Delegate GetDelegate() { return del; } } }