/***********************************************************************
 * 
 *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License as published by the Free Software Foundation; version 2.1
 *  of the License.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Library Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, Novell, Inc.
 * 
 *  To contact Novell about this file by physical or electronic mail, 
 *  you may find current contact information at www.novell.com.
 * 
 ***********************************************************************/

using System;
/* This class would have only static methods.
 */
namespace sscs.communication
{

class CommunicationFactory
{
    /* Make the constructor private, to avoid instances of this
     * class.
     */
    private CommunicationFactory()
    {

    }

    /* This method must check for platform and return 
     * an appropriate class. As of now, it assumes platform as Linux.
     */
    public static Communication CreateCommunicationEndPoint()
    {
#if LINUX
            return( new UnixCommunication());
#endif
#if W32
            return (new WinCommunication());
#endif
    }
}
}