// Copyright 2003-2004 The Apache Software Foundation // // 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. namespace Apache.Avalon.Castle.ManagementExtensions { using System; /// /// Summary description for MServer. /// public interface MServer : MServerConnection { /// /// Instantiates the specified type using the server domain. /// /// /// Object Instantiate(String typeName); /// /// Instantiates the specified type using the server domain. /// /// /// /// Object Instantiate(String assemblyName, String typeName); /// /// Instantiates the specified managed object. /// /// /// /// /// If domain name is not found. ManagedInstance CreateManagedObject(String typeName, ManagedObjectName name); /// /// Instantiates the specified managed object. /// /// /// /// ManagedInstance CreateManagedObject(String assemblyName, String typeName, ManagedObjectName name); /// /// Registers the specified managed object instance. /// /// /// /// /// If domain name is not found. ManagedInstance RegisterManagedObject(Object instance, ManagedObjectName name); /// /// Returns a representing /// a managed object instance. /// /// /// /// If domain name is not found. ManagedInstance GetManagedInstance(ManagedObjectName name); /// /// Unregister a managed object from the domain. /// /// /// If domain name is not found. void UnregisterManagedObject(ManagedObjectName name); /// /// Invokes an action in managed object /// /// /// /// /// /// /// If domain name is not found. Object Invoke(ManagedObjectName name, String action, Object[] args, Type[] signature); /// /// Returns the info (attributes and operations) about the specified object. /// /// /// /// If domain name is not found. ManagementInfo GetManagementInfo(ManagedObjectName name); /// /// Gets an attribute value of the specified managed object. /// /// /// /// /// If domain name is not found. Object GetAttribute(ManagedObjectName name, String attributeName); /// /// Sets an attribute value of the specified managed object. /// /// /// /// /// If domain name is not found. void SetAttribute(ManagedObjectName name, String attributeName, Object attributeValue); /// /// Returns an array of registered domains. /// /// a list of domains // String[] GetDomains(); /// /// Queries the registerd components. /// /// ManagedObjectName[] Query(ManagedObjectName query); } }