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
    }
}
}