1 // 2 // Copyright (c) ZeroC, Inc. All rights reserved. 3 // 4 5 using System; 6 7 public class PluginOneFailFactory : Ice.PluginFactory 8 { create(Ice.Communicator communicator, string name, string[] args)9 public Ice.Plugin create(Ice.Communicator communicator, string name, string[] args) 10 { 11 return new PluginOneFail(communicator); 12 } 13 14 internal class PluginOneFail : BasePluginFail 15 { PluginOneFail(Ice.Communicator communicator)16 public PluginOneFail(Ice.Communicator communicator) : base(communicator) 17 { 18 } 19 initialize()20 public override void initialize() 21 { 22 _two = (BasePluginFail)_communicator.getPluginManager().getPlugin("PluginTwoFail"); 23 test(!_two.isInitialized()); 24 _three = (BasePluginFail)_communicator.getPluginManager().getPlugin("PluginThreeFail"); 25 test(!_three.isInitialized()); 26 _initialized = true; 27 } 28 destroy()29 public override void destroy() 30 { 31 test(_two.isDestroyed()); 32 // 33 // Not destroyed because initialize fails. 34 // 35 test(!_three.isDestroyed()); 36 _destroyed = true; 37 } 38 ~PluginOneFail()39 ~PluginOneFail() 40 { 41 if(!_initialized) 42 { 43 Console.WriteLine("PluginOneFail not initialized"); 44 } 45 if(!_destroyed) 46 { 47 Console.WriteLine("PluginOneFail not destroyed"); 48 } 49 } 50 } 51 } 52