private FFTAICommunicationManager() { // create object Config = new FFTAICommunicationConfig(); Logger = new FFTAICommunicationLog(); FFTAICommunicationOperation = new FFTAICommunicationOperation(); FFTAICommunicationInterface = new FFTAICommunicationInterface(); FFTAICommunicationV1Interface = new FFTAICommunicationV1Interface(); FFTAICommunicationV2Interface = new FFTAICommunicationV2Interface(); FFTAICommunicationV2IAPInterface = new FFTAICommunicationV2IAPInterface(); FFTAICommunicationV2SystemInterface = new FFTAICommunicationV2SystemInterface(); FFTAICommunicationV2CommunicationInterface = new FFTAICommunicationV2CommunicationInterface(); FFTAICommunicationV2HardwareInterface = new FFTAICommunicationV2HardwareInterface(); FFTAICommunicationV2DriverInterface = new FFTAICommunicationV2DriverInterface(); FFTAICommunicationV2RobotInterface = new FFTAICommunicationV2RobotInterface(); FFTAICommunicationV2M1RobotInterface = new FFTAICommunicationV2M1RobotInterface(); FFTAICommunicationV2M1TaskInterface = new FFTAICommunicationV2M1TaskInterface(); FFTAICommunicationV2M2RobotInterface = new FFTAICommunicationV2M2RobotInterface(); FFTAICommunicationV2M2TaskInterface = new FFTAICommunicationV2M2TaskInterface(); FFTAICommunicationV2X1RobotInterface = new FFTAICommunicationV2X1RobotInterface(); FFTAICommunicationV2X1TaskInterface = new FFTAICommunicationV2X1TaskInterface(); FFTAICommunicationV2X2RobotInterface = new FFTAICommunicationV2X2RobotInterface(); FFTAICommunicationV2X2TaskInterface = new FFTAICommunicationV2X2TaskInterface(); // build relationship FFTAICommunicationOperation.AddObserver(FFTAICommunicationInterface); FFTAICommunicationInterface.FFTAICommunicationOperation = FFTAICommunicationOperation; FFTAICommunicationInterface.FFTAICommunicationV1Interface = FFTAICommunicationV1Interface; FFTAICommunicationInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; // v1 interface FFTAICommunicationV1Interface.FFTAICommunicationInterface = FFTAICommunicationInterface; // v2 interface FFTAICommunicationV2Interface.FFTAICommunicationInterface = FFTAICommunicationInterface; FFTAICommunicationV2Interface.IAPInterface = FFTAICommunicationV2IAPInterface; FFTAICommunicationV2Interface.SystemInterface = FFTAICommunicationV2SystemInterface; FFTAICommunicationV2Interface.CommunicationInterface = FFTAICommunicationV2CommunicationInterface; FFTAICommunicationV2Interface.HardwareInterface = FFTAICommunicationV2HardwareInterface; FFTAICommunicationV2Interface.DriverInterface = FFTAICommunicationV2DriverInterface; FFTAICommunicationV2Interface.RobotInterface = FFTAICommunicationV2RobotInterface; FFTAICommunicationV2Interface.M1RobotInterface = FFTAICommunicationV2M1RobotInterface; FFTAICommunicationV2Interface.M1TaskInterface = FFTAICommunicationV2M1TaskInterface; FFTAICommunicationV2Interface.M2RobotInterface = FFTAICommunicationV2M2RobotInterface; FFTAICommunicationV2Interface.M2TaskInterface = FFTAICommunicationV2M2TaskInterface; FFTAICommunicationV2Interface.X1RobotInterface = FFTAICommunicationV2X1RobotInterface; FFTAICommunicationV2Interface.X1TaskInterface = FFTAICommunicationV2X1TaskInterface; FFTAICommunicationV2Interface.X2RobotInterface = FFTAICommunicationV2X2RobotInterface; FFTAICommunicationV2Interface.X2TaskInterface = FFTAICommunicationV2X2TaskInterface; // children interface FFTAICommunicationV2IAPInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2SystemInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2CommunicationInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2HardwareInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2DriverInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2RobotInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2M1RobotInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2M1TaskInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2M2RobotInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2M2TaskInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2X1RobotInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2X1TaskInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2X2RobotInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; FFTAICommunicationV2X2TaskInterface.FFTAICommunicationV2Interface = FFTAICommunicationV2Interface; }