package Microsoft.Samples;
//-----------------------------------------------------------------------
//  This file is part of the Microsoft .NET Framework SDK Code Samples.
// 
//  Copyright (C) Microsoft Corporation.  All rights reserved.
// 
//This source code is intended only as a supplement to Microsoft
//Development Tools and/or on-line documentation.  See these other
//materials for detailed information regarding Microsoft code samples.
// 
//THIS CODE AND INFORMATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY
//KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
//IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//PARTICULAR PURPOSE.
//-----------------------------------------------------------------------
import System.*;
import System.Runtime.Remoting.*;
   
/** @attribute Serializable()
 */
public class ForwardMe
{
    private int mValue = 1;

    public void CallMe()
    {
        mValue++;
    } //CallMe

    public int getValue()
    {
        return mValue;
    } //getValue
} //ForwardMe

public class HelloServer extends MarshalByRefObject
{
    public HelloServer()
    {
        Console.WriteLine("HelloServer activated");
    } //HelloServer

    public ForwardMe HelloMethod(ForwardMe obj)
    {
        for (int i = 0; i < 5; i++) {
            obj.CallMe();
        }
        return obj;
    } //HelloMethod
} //HelloServer