public BasicServer()
{
// Create message bus
msgBus = new AllJoyn.BusAttachment("myApp", true);
// Add org.alljoyn.Bus.method_sample interface
AllJoyn.QStatus status = msgBus.CreateInterface(INTERFACE_NAME, false, out testIntf);
if(status)
{
Debug.Log("Server Interface Created.");
testIntf.AddMember(AllJoyn.Message.Type.MethodCall, "cat", "ss", "s", "inStr1,inStr2,outStr");
testIntf.Activate();
}
else
{
Debug.Log("Failed to create interface 'org.alljoyn.Bus.method_sample'");
}
// Create a bus listener
busListener = new MyBusListener();
if(status)
{
msgBus.RegisterBusListener(busListener);
Debug.Log("Server BusListener Registered.");
}
// Set up bus object
testObj = new TestBusObject(msgBus, SERVICE_PATH);
// Start the msg bus
if(status)
{
status = msgBus.Start();
if(status)
{
Debug.Log("Server BusAttachment started.");
msgBus.RegisterBusObject(testObj);
status = msgBus.Connect(connectArgs);
if(status)
{
Debug.Log("Server BusAttchement connected to " + connectArgs);
}
else
{
Debug.Log("Server BusAttachment::Connect(" + connectArgs + ") failed.");
}
}
else
{
Debug.Log("Server BusAttachment.Start failed.");
}
}
// Request name
if(status)
{
status = msgBus.RequestName(SERVICE_NAME,
AllJoyn.DBus.NameFlags.ReplaceExisting | AllJoyn.DBus.NameFlags.DoNotQueue);
if(!status)
{
Debug.Log("Server RequestName(" + SERVICE_NAME + ") failed (status=" + status + ")");
}
}
// Create session
AllJoyn.SessionOpts opts = new AllJoyn.SessionOpts(AllJoyn.SessionOpts.TrafficType.Messages, false,
AllJoyn.SessionOpts.ProximityType.Any, AllJoyn.TransportMask.Any);
if(status)
{
ushort sessionPort = SERVICE_PORT;
sessionPortListener = new MySessionPortListener();
status = msgBus.BindSessionPort(ref sessionPort, opts, sessionPortListener);
if(!status || sessionPort != SERVICE_PORT)
{
Debug.Log("Server BindSessionPort failed (" + status + ")");
}
}
// Advertise name
if(status)
{
status = msgBus.AdvertiseName(SERVICE_NAME, opts.Transports);
if(!status)
{
Debug.Log("Server Failed to advertise name " + SERVICE_NAME + " (" + status + ")");
}
}
}