/// <summary> /// </summary> /// <param name="client"></param> /// <param name="ctype">The type of Cache system to use for images.</param> /// <param name="directory">The directory to use for disk based caching.</param> private void Init(SecondLife client, CacheTypes ctype, string directory) { slClient = client; // Setup Image Caching CacheType = ctype; if (ctype == CacheTypes.Disk) { if (directory != null) { CacheDirectory = directory; } try { if (!Directory.Exists(CacheDirectory)) { Directory.CreateDirectory(CacheDirectory); } } catch (Exception e) { slClient.Log("Disk Cache directory could not be established, defaulting to Memory Cache: " + Environment.NewLine + e.ToString(), Helpers.LogLevel.Warning); CacheType = CacheTypes.Memory; } } // Image Packet Helpers ImagePacketHelper = new ImagePacketHelpers(client); // Image Callbacks slClient.Network.RegisterCallback(PacketType.ImageData, new NetworkManager.PacketCallback(ImageDataCallbackHandler)); slClient.Network.RegisterCallback(PacketType.ImagePacket, new NetworkManager.PacketCallback(ImagePacketCallbackHandler)); slClient.Network.RegisterCallback(PacketType.ImageNotInDatabase, new NetworkManager.PacketCallback(ImageNotInDatabaseCallbackHandler)); }
/// <summary> /// </summary> /// <param name="client"></param> /// <param name="ctype">The type of Cache system to use for images.</param> /// <param name="directory">The directory to use for disk based caching.</param> private void Init(SecondLife client, CacheTypes ctype, string directory) { slClient = client; // Setup Image Caching CacheType = ctype; if (ctype == CacheTypes.Disk) { if (directory != null) { CacheDirectory = directory; } try { if (!Directory.Exists(CacheDirectory)) { Directory.CreateDirectory(CacheDirectory); } } catch (Exception e) { Console.WriteLine("ERROR: Disk Cache directory could not be established, defaulting to Memory Cache."); Console.WriteLine(e.Message); CacheType = CacheTypes.Memory; } } // Image Packet Helpers ImagePacketHelper = new ImagePacketHelpers(client); // Image Callbacks slClient.Network.RegisterCallback(PacketType.ImageData, new PacketCallback(ImageDataCallbackHandler)); slClient.Network.RegisterCallback(PacketType.ImagePacket, new PacketCallback(ImagePacketCallbackHandler)); slClient.Network.RegisterCallback(PacketType.ImageNotInDatabase, new PacketCallback(ImageNotInDatabaseCallbackHandler)); }