source: trunk/Documentation/Developer/PluginHowTo/part2.tex @ 385

Last change on this file since 385 was 385, checked in by Arno Wacker, 13 years ago

Doc: Moved new PluginHowTo to new directory structure

File size: 3.1 KB
Line 
1\part{Create an Encryption-Plugin using Visual Studio 2008}
2
3\section{Create a new project in VS2008 for your plugin}\label{sec:CreateANewProjectInVS2008ForYourPlugin}
4Open Visual Studio 2008 and create a new project:
5
6
7
8Select "`.NET-Framework 3.5"` as the target framework (the Visual Studio Express edition don't provide this selection because it automatically chooses the actual target framework), and "`Class Library"` as default template to create a DLL file. Give the project a unique and significant name (here: "`Caesar"`), and choose a location where to save (the Express edition will ask later for a save location when you close your project or your environment).  Finally confirm by pressing the "`OK"` button.
9
10
11
12
13Now your Visual Studio solution should look like this:
14
15
16
17
18
19\section{Select the interface, your plugin wants to serve}\label{sec:SelectTheInterfaceYourPluginWantsToServe}
20First we have to add a reference to the Cryptool library called "`CrypPluginBase.dll"` where all necessary Cryptool plugin interfaces are declared.
21%Make a right click in the Solution Explorer on the "`Reference"` item and choose "`Add Reference"`. Now browse to the path where the library file is located (e.g. "`C:\backslash Documents and Settings\backslash <Username>\backslash My Documents\backslash Visual Studio 2008\backslash Projects\backslash CrypPluginBase\backslash bin\backslash Debug"`)
22
23and select the library by double clicking the file or pressing the "`OK"` button.
24 
25
26\section{Create the classes for the algorithm and for its settings}\label{sec:CreateTheClassesForTheAlgorithmAndForItsSettings}
27\subsection{Create the class for the algorithm (MD5)}\label{sec:CreateTheClassForTheAlgorithmMD5}
28\subsection{Create the class for the settings (MD5Settings)}\label{sec:CreateTheClassForTheSettingsMD5Settings}
29\subsection{Add namespace for the class MD5 and the place from where to inherit}
30\label{sec:AddNamespaceForTheClassMD5AndThePlaceFromWhereToInherit}
31\subsection{Add the interface functions for the class MD5}\label{sec:AddTheInterfaceFunctionsForTheClassMD5}
32\subsection{Add namespace and interfaces for the class MD5Settings}\label{sec:AddNamespaceAndInterfacesForTheClassMD5Settings}
33\subsection{Add controls for the class MD5Settings (if needed)}\label{sec:AddControlsForTheClassMD5SettingsIfNeeded}
34\section{Select and add an image as icon for the class MD5}\label{sec:SelectAndAddAnImageAsIconForTheClassMD5}
35\section{Set the attributes for the class MD5}\label{sec:SetTheAttributesForTheClassMD5}
36\section{Set the private variables for the settings in the class MD5}
37\label{sec:SetThePrivateVariablesForTheSettingsInTheClassMD5}
38\section{Define the code of the class MD5 to fit the interface}\label{sec:DefineTheCodeOfTheClassMD5ToFitTheInterface}
39\section{Complete the actual code for the class MD5}\label{sec:CompleteTheActualCodeForTheClassMD5}
40\section{Sign the created plugin}\label{sec:SignTheCreatedPlugin}
41\section{Import the plugin to Cryptool and test it}\label{sec:ImportThePluginToCryptoolAndTestIt}
42\section{Source code and source template}\label{sec:SourceCodeAndSourceTemplate}
Note: See TracBrowser for help on using the repository browser.