rtxExternDefs.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003-2010 Objective Systems, Inc.
00003  *
00004  * This software is furnished under a license and may be used and copied
00005  * only in accordance with the terms of such license and with the
00006  * inclusion of the above copyright notice. This software or any other
00007  * copies thereof may not be provided or otherwise made available to any
00008  * other person. No title to and ownership of the software is hereby
00009  * transferred.
00010  *
00011  * The information in this software is subject to change without notice
00012  * and should not be construed as a commitment by Objective Systems, Inc.
00013  *
00014  * PROPRIETARY NOTICE
00015  *
00016  * This software is an unpublished work subject to a confidentiality agreement
00017  * and is protected by copyright and trade secret law.  Unauthorized copying,
00018  * redistribution or other use of this work is prohibited.
00019  *
00020  * The above notice of copyright on this source code product does not indicate
00021  * any actual or intended publication of such source code.
00022  *
00023  *****************************************************************************/
00024 
00025 #ifndef _RTXEXTERNDEFS_H_
00026 #define _RTXEXTERNDEFS_H_
00027 
00034 /* Symbian requires different exporting rules, and so we define different
00035  * constants to turn on or off the appropriate linkage types.  See
00036  * rtsrc/rtExternDefs.h for more detail. */
00037 #if defined(__SYMBIAN32__)       /* OS: Symbian */
00038 #define EXTRTCLASS               /* turn off class externs */
00039 
00040 #ifndef EXTERN
00041 #ifdef BUILDDLL
00042 #define EXTERN EXPORT_C
00043 #elif defined (USEDLL)
00044 #define EXTERN IMPORT_C
00045 #else
00046 #define EXTERN
00047 #endif /* BUILD/USE DLL */
00048 #endif /* EXTERN */
00049 
00050 #ifndef EXTERNRT
00051 #if defined(BUILDASN1RTDLL) || defined(BUILDRTXDLL)
00052 #define EXTERNRT     EXPORT_C
00053 #define EXTRTMETHOD  EXPORT_C    /* turn on method externs */
00054 #elif defined (USEASN1RTDLL) || defined(USERTXDLL)
00055 #define EXTERNRT     IMPORT_C
00056 #define EXTRTMETHOD  IMPORT_C
00057 #else
00058 #define EXTERNRT
00059 #define EXTRTMETHOD
00060 #endif /* BUILDASN1RTDLL */
00061 #endif /* EXTERNRT */
00062 
00063 #else                            /* OS: Win, Unix, Linux, ... */
00064 #define EXTRTMETHOD              /* turn off method externs */
00065 
00066 #ifndef EXTERNRT
00067 #if defined(BUILDASN1RTDLL) || defined(BUILDRTXDLL)
00068 #define EXTERNRT        __declspec(dllexport)
00069 #define EXTRTCLASS      __declspec(dllexport)
00070 #elif defined (USERTXDLL) || defined(USEASN1RTDLL)
00071 #define EXTERNRT        __declspec(dllimport)
00072 #define EXTRTCLASS      __declspec(dllimport)
00073 #else
00074 #define EXTERNRT
00075 #define EXTRTCLASS
00076 #endif /* BUILDASN1RTDLL */
00077 #endif /* EXTERNRT */
00078 
00079 #ifdef BUILDDLL
00080 #define EXTERN __declspec(dllexport)
00081 #elif defined (USEDLL)
00082 #define EXTERN __declspec(dllimport)
00083 #else
00084 #define EXTERN
00085 #endif /* BUILDDLL */
00086 
00087 #endif
00088 #endif