/* Copyright (c) 2005 TrueCrypt Developers Association. All rights reserved. Governed by the TrueCrypt License 3.0 the full text of which is contained in the file License.txt included in TrueCrypt binary and source code distribution packages. */ #ifndef KEYFILES_H #define KEYFILES_H #ifdef __cplusplus extern "C" { #endif #include "Common.h" #define KEYFILE_POOL_SIZE 64 #define KEYFILE_MAX_READ_LEN (1024*1024) typedef struct KeyFileStruct { char FileName[MAX_PATH + 1]; struct KeyFileStruct *Next; } KeyFile; typedef struct { BOOL EnableKeyFiles; KeyFile *FirstKeyFile; } KeyFilesDlgParam; KeyFile *KeyFileAdd (KeyFile *firstKeyFile, KeyFile *keyFile); void KeyFileRemoveAll (KeyFile **firstKeyFile); KeyFile *KeyFileClone (KeyFile *keyFile); KeyFile *KeyFileCloneAll (KeyFile *firstKeyFile); BOOL KeyFilesApply (HWND hwndDlg, Password *password, KeyFile *firstKeyFile); BOOL CALLBACK KeyFilesDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); BOOL KeyfilesPopupMenu (HWND hwndDlg, POINT popupPosition, KeyFilesDlgParam *dialogParam); extern BOOL HiddenFilesPresentInKeyfilePath; #ifdef __cplusplus } #endif #endif /* #ifndef KEYFILES_H */ ">Donate
  • Forums
  • aboutsummaryrefslogtreecommitdiff
    path: root/src/Platform/Exception.cpp
    blob: 7d3231111a8109287b1fdfa9408f4f7b20e8f41a (plain)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    
    /*
     Copyright (c) 2008 TrueCrypt Developers Association. All rights reserved.
    
     Governed by the TrueCrypt License 3.0 the full text of which is contained in
     the file License.txt included in TrueCrypt binary and source code distribution
     packages.
    */
    
    #include "Exception.h"
    #include "SerializerFactory.h"
    
    namespace VeraCrypt
    {
    	void Exception::Deserialize (shared_ptr <Stream> stream)
    	{
    		Serializer sr (stream);
    		sr.Deserialize ("Message", Message);
    		sr.Deserialize ("Subject", Subject);
    	}
    
    	void Exception::Serialize (shared_ptr <Stream> stream) const
    	{
    		Serializable::Serialize (stream);
    		Serializer sr (stream);
    		sr.Serialize ("Message", Message);
    		sr.Serialize ("Subject", Subject);
    	}
    
    	void ExecutedProcessFailed::Deserialize (shared_ptr <Stream> stream)
    	{
    		Exception::Deserialize (stream);
    		Serializer sr (stream);
    		sr.Deserialize ("Command", Command);
    		sr.Deserialize ("ExitCode", ExitCode);
    		sr.Deserialize ("ErrorOutput", ErrorOutput);
    	}
    
    	void ExecutedProcessFailed::Serialize (shared_ptr <Stream> stream) const
    	{
    		Exception::Serialize (stream);
    		Serializer sr (stream);
    		sr.Serialize ("Command", Command);
    		sr.Serialize ("ExitCode", ExitCode);
    		sr.Serialize ("ErrorOutput", ErrorOutput);
    	}
    
    #define TC_EXCEPTION(TYPE) TC_SERIALIZER_FACTORY_ADD(TYPE)
    #undef TC_EXCEPTION_NODECL
    #define TC_EXCEPTION_NODECL(TYPE) TC_SERIALIZER_FACTORY_ADD(TYPE)
    
    	TC_SERIALIZER_FACTORY_ADD_EXCEPTION_SET (Exception);
    }