Back to index

lightning-sunbird  0.9+nobinonly
nsMsgSimulateError.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is mozilla.org code.
00016  *
00017  * The Initial Developer of the Original Code is
00018  * Netscape Communications Corporation.
00019  * Portions created by the Initial Developer are Copyright (C) 1998
00020  * the Initial Developer. All Rights Reserved.
00021  *
00022  * Contributor(s):
00023  *   Jean-Francois Ducarroz <ducarroz@netscape.com>
00024  *
00025  * Alternatively, the contents of this file may be used under the terms of
00026  * either of the GNU General Public License Version 2 or later (the "GPL"),
00027  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00028  * in which case the provisions of the GPL or the LGPL are applicable instead
00029  * of those above. If you wish to allow use of your version of this file only
00030  * under the terms of either the GPL or the LGPL, and not to allow others to
00031  * use your version of this file under the terms of the MPL, indicate your
00032  * decision by deleting the provisions above and replace them with the notice
00033  * and other provisions required by the GPL or the LGPL. If you do not delete
00034  * the provisions above, a recipient may use your version of this file under
00035  * the terms of any one of the MPL, the GPL or the LGPL.
00036  *
00037  * ***** END LICENSE BLOCK ***** */
00038 
00039 #define SIMULATE_ERROR  0
00040 
00041 #if (SIMULATE_ERROR)
00042   extern long SIMULATED_SEND_ERROR_ID;
00043 
00044   enum
00045   {
00046     SIMULATED_SEND_ERROR_1 = 1, // Failure during the initialization
00047     SIMULATED_SEND_ERROR_2,     // Failure while openning message to copy
00048     SIMULATED_SEND_ERROR_3,     // Failure while opening a temp file for attachment handling
00049     SIMULATED_SEND_ERROR_4,     // Failure while opening a temp file for converting to plain text a part. JFD: IMPORTANT TO TEST THIS CASE!
00050     SIMULATED_SEND_ERROR_5,     // Failure while Locate a Message Folder
00051     SIMULATED_SEND_ERROR_6,     // Simulate no sender
00052     SIMULATED_SEND_ERROR_7,     // Simulate no recipient - nsMsgSend
00053     SIMULATED_SEND_ERROR_8,     // Simulate no recipient - inside smtp
00054     SIMULATED_SEND_ERROR_9,     // Simulate failure in mime_write_message_body
00055     SIMULATED_SEND_ERROR_10,    // Simulate SMTP logging error
00056     SIMULATED_SEND_ERROR_11,    // Simulate SMTP protocol error (1)
00057     SIMULATED_SEND_ERROR_12,    // Simulate SMTP protocol error (2)
00058     SIMULATED_SEND_ERROR_13,    // Simulate Sent unsent messages error
00059     SIMULATED_SEND_ERROR_14,    // Simulate charset conversion error (plaintext only)
00060     SIMULATED_SEND_ERROR_15,    // Simulate large message warning
00061     SIMULATED_SEND_ERROR_16,    // Failure getting user email address in smtp
00062     SIMULATED_SEND_ERROR_17,    // Failure while retreiving multipart related object
00063     
00064     SIMULATED_SEND_ERROR_EOL
00065   };
00066   
00067   //JFD: last error simulated is NS_ERROR_BUT_DONT_SHOW_ALERT
00068 
00069   long SIMULATED_SEND_ERROR_ID = 0;
00070   
00071   #define SET_SIMULATED_ERROR(id, var, err) \
00072     if (SIMULATED_SEND_ERROR_ID == id)      \
00073       var = err;
00074 
00075   #define RETURN_SIMULATED_ERROR(id, err) \
00076     if (SIMULATED_SEND_ERROR_ID == id)      \
00077       return err;
00078 
00079   #define CHECK_SIMULATED_ERROR(id) \
00080     (SIMULATED_SEND_ERROR_ID == id)
00081 
00082 #else
00083 
00084   #define SET_SIMULATED_ERROR(id, var, err)
00085   #define RETURN_SIMULATED_ERROR(id, err)
00086   #define CHECK_SIMULATED_ERROR(id) (0)
00087   
00088 #endif