kerneltest/e32test/cppexceptions/second_excp.h
changeset 0 a41df078684a
child 133 2a0ada0a1bf8
equal deleted inserted replaced
-1:000000000000 0:a41df078684a
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 #include <e32std.h>
       
    19 
       
    20 class MySecondException {
       
    21 public:
       
    22   MySecondException(){};
       
    23   MySecondException(int x) { iVal = x; };
       
    24   int iVal;
       
    25 };
       
    26 
       
    27 IMPORT_C int thrower2 (int x);
       
    28 
       
    29 
       
    30 class MyThirdException : public MySecondException {
       
    31 public:
       
    32   MyThirdException(){};
       
    33   MyThirdException(int x) { iVal = x; iVal1 = x+1;};
       
    34   int iVal1;
       
    35 };
       
    36 
       
    37 IMPORT_C int thrower3 (int x);
       
    38 
       
    39 NONSHARABLE_CLASS(VB1) : virtual public MySecondException {};
       
    40 NONSHARABLE_CLASS(VB2) : virtual public MySecondException {};
       
    41 
       
    42 class MyFourthException : public VB1 , public VB2 {
       
    43 public:
       
    44   MyFourthException(int x) { iVal = x; iVal2=x+2;};
       
    45   int iVal2;
       
    46 };
       
    47 
       
    48 IMPORT_C int thrower4 (int x);
       
    49 
       
    50 class B1 {
       
    51  public:
       
    52   B1(int x): iX(x){}
       
    53   int iX;
       
    54 };
       
    55 
       
    56 class MyFifthException : public MySecondException, public B1 {
       
    57  public:
       
    58   MyFifthException(int x): MySecondException(x), B1(x){}
       
    59 };
       
    60 
       
    61 IMPORT_C int thrower5 (int x);
       
    62 
       
    63 class UncaughtTester {
       
    64 public:
       
    65   IMPORT_C UncaughtTester(TInt & x);
       
    66   IMPORT_C ~UncaughtTester();
       
    67   TInt & aInt;
       
    68 };