Wikipedia:AutoWikiBrowser/Kingbotk plugin/WikiFunctions2

Note: As of AWB version 4.0, Wikifunctions2 is included in AWB's wikifunctions.dll library and is no longer available as a separate file.

WikiFunctions2.dll was a dotnet shared library written by Kingboyk and supplied with AutoWikiBrowser. The library depended on and supplemented AWB's WikiFunctions.dll.

Objects
Version 1.x of the library contains the following classes and interfaces:


 * WikiFunctions.WikiFunctions2 - Contains a function which returns the DLL's version info


 * WikiFunctions.Encryption.RijndaelSimple - Contains an easy to use wrapper around Rijndael encryption (not directly wiki-related, of course, but used by the plugin to store user details in the registry). The class uses a symmetric key algorithm (Rijndael/AES) to encrypt and decrypt data. As long as encryption and decryption routines use the same parameters to generate the keys, the keys are guaranteed to be the same. (not my code).


 * WikiFunctions.Logging.IMyTraceListener - An interface implemented by all trace (logging) classes including the trace manager


 * WikiFunctions.Logging.TraceListenerBase - This abstract class can be used to build trace listener classes


 * WikiFunctions.Logging.TraceListenerUploadableBase - An abstract class for building auto-uploading trace listeners


 * WikiFunctions.Logging.TraceManager - An inheritable implementation of a Logging manager, built around a generic collection of IMyTraceListener objects and String keys


 * WikiFunctions.Logging.WikiTraceListener - This class logs in Mediawiki-markup format


 * WikiFunctions.Logging.XHTMLTraceListener - This class logs in XHTML format


 * WikiFunctions.Logging.Uploader.ITraceStatusProvider - Implemented by classes which expose a TraceStatus object


 * WikiFunctions.Logging.Uploader.LogEntry - Object which contains details of target pages for log entries (see e.g. User:Kingbotk/Logs, WikiProject Biography/Automation/Logs)


 * WikiFunctions.Logging.Uploader.LogUploader - A class which uploads logs to Wikipedia. Inherits from WikiFunctions.Editor in AWB's DLL


 * WikiFunctions.Logging.Uploader.TraceStatus - A class which keeps track of statistics and not-yet-uploaded log entries. My plugin inherits from this class to add UI features.


 * WikiFunctions.Logging.Uploader.UploadableLogSettings - A simple settings class for logging solutions


 * WikiFunctions.Logging.Uploader.UploadableLogSettings2 - An extended base class with extra properties for a comprehensive logging solution


 * WikiFunctions.Logging.Uploader.UploadingPleaseWaitForm - A form for displaying when the application is busy uploading


 * WikiFunctions.Logging.UploaderUsernamePassword - Stores the user's login details/cookies


 * WikiFunctions.TalkPages.TalkPageHeaders.ProcessTalkPage - Parses a talk page for a talkheader and/or skiptotoc template and moves them to the top.

As of version 1.0.2, some features were converted to C# and moved to AWB's WikiFunctions.dll:
 * WikiFunctions.TalkPages.TalkPageHeaders module
 * IMyTraceListener
 * RijndaelSimple encryption

As of AWB version 4.0, the code from WikiFunctions2 ships in the main WikiFunctions.dll.