/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: alignment.idl,v $
 *
 *  $Revision: 1.3 $
 *
 *  last change: $Author: rt $ $Date: 2005-09-08 08:55:03 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
#ifndef _TEST_ALIGNMENT_IDL_
#define _TEST_ALIGNMENT_IDL_

#include <com/sun/star/uno/XInterface.idl>

module test
{
module alignment
{

struct C1
{
    short n1;
};
struct C2 : C1
{
    long n2;
};
struct C3 : C2
{
    double d3;
    long n3;
};
struct C4 : C3
{
    long n4;
    double d4;
};
struct C5 : C4
{
    hyper n5;
    boolean b5;
};

struct C6 : C1
{
    C5 c;
    boolean b6;
};
struct C7 : C1
{
    C1 c;
    boolean b6;
};
struct C8 : C1
{
    any a;
    boolean b6;
};
struct C9 : C1
{
    string s;
    boolean b6;
};
struct C10 : C1
{
    float f;
    boolean b6;
};
struct C11 : C1
{
    double d;
    boolean b6;
};
struct C12 : C1
{
    hyper n;
    boolean b6;
};
struct C13 : C1
{
    unsigned hyper n;
    boolean b6;
};
struct C14 : C1
{
    ::com::sun::star::uno::XInterface x;
    boolean b6;
};

struct C1x
{
    short sx;
    double dx;
};

struct C6x : C1x
{
    C5 c;
    boolean b6;
};
struct C7x : C1x
{
    C1 c;
    boolean b6;
};
struct C8x : C1x
{
    any a;
    boolean b6;
};
struct C9x : C1x
{
    string s;
    boolean b6;
};
struct C10x : C1x
{
    float f;
    boolean b6;
};
struct C11x : C1x
{
    double d;
    boolean b6;
};
struct C12x : C1x
{
    hyper n;
    boolean b6;
};
struct C13x : C1x
{
    unsigned hyper n;
    boolean b6;
};
struct C14x : C1x
{
    ::com::sun::star::uno::XInterface x;
    boolean b6;
};


struct D
{
    short d;
    long e;
};
struct E
{
    boolean a;
    boolean b;
    boolean c;
    short d;
    long e;
};

struct M
{
    long    n;
    short   o;
};

struct N : M
{
    short p;
};
struct N2
{
    M m;
    short   p;
};
struct O : M
{
    double  p;
};
struct O2 : O
{
    double  p2;
};
struct P : N
{
    double  p2;
};

}; // alignment
}; // test

#endif
