Microsoft Identity Integration Server 2003 Developer Reference

Creating a Metaverse Rules Extension

A metaverse rules extension must implement the IMVSynchronization interface. The contents of IMVSynchronization are specified in the Microsoft.MetadirectoryServices namespace and include the following methods:

The following example shows a class declaration for a metaverse rules extension:

[Visual Basic .NET]
Public Class MyMVExtensionClass
	Implements IMVSynchronization
[C#]
namespace Sample_CSharp_MV_Extension
{
	public class MyMVExtensionClass : IMVSynchronization
	{
}
}

When you implement an interface, you must implement all of the methods defined by that interface. This means that when you create a management agent rules extension, you must also implement, at a minimum, all methods listed above.

The following example shows an entire class declaration for a metaverse rules extension:

[Visual Basic .NET]
Public Class MVExtensionObject
	Implements IMVSynchronization

	Public Sub Initialize() Implements IMvSynchronization.Initialize
		' TODO: Add initialization code here
	End Sub

	Public Sub Terminate() Implements IMvSynchronization.Terminate
		' TODO: Add termination code here
	End Sub

	Public Sub Provision(ByVal mventry As MVEntry) Implements IMVSynchronization.Provision
		' TODO: Remove this throw statement if you implement this method
		Throw New EntryPointNotImplementedException()
	End Sub

	Public Function ShouldDeleteFromMV(ByVal csentry As CSEntry, ByVal mventry As MVEntry) As Boolean Implements IMVSynchronization.ShouldDeleteFromMV
		' TODO: Add MV deletion code here
		Throw New EntryPointNotImplementedException()
	End Function
End Class
[C#]
namespace Miis_Metaverse
{
		/// <summary>
		/// Summary description for MVExtensionObject.
		/// </summary>
	public class MVExtensionObject : IMVSynchronization
	{
		public MVExtensionObject()
		{
			//
			// TODO: Add constructor logic here
			//
	}

		void IMVSynchronization.Initialize ()
		{
			//
			// TODO: Add initialization logic here
			//
	}

		void IMVSynchronization.Terminate ()
		{
			//
			// TODO: Add termination logic here
			//
	}

		void IMVSynchronization.Provision (MVEntry mventry)
		{
						//
						// TODO: Remove this throw statement if you implement this method
						//
						throw new EntryPointNotImplementedException();
	}	 

		bool IMVSynchronization.ShouldDeleteFromMV (CSEntry csentry, MVEntry mventry)
		{
			//
			// TODO: Add MV deletion logic here
			//
			throw new EntryPointNotImplementedException();
	}
}
}