os/kernelhwsrv/kerneltest/e32test/cppexceptions/second_excp.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     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 };