// 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 MRegistry.
///
public interface MRegistry
{
///
/// 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);
bool Contains(ManagedObjectName name);
int Count
{
get;
}
Object this [ManagedObjectName name]
{
get;
}
///
/// 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 GetAttributeValue(ManagedObjectName name, String attributeName);
///
/// Sets an attribute value of the specified managed object.
///
///
///
///
/// If domain name is not found.
void SetAttributeValue(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);
}
}