00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _QORE_RESTRICTIONS_H
00024
00025 #define _QORE_RESTRICTIONS_H
00026
00031 #define PO_DEFAULT 0
00032 #define PO_NO_GLOBAL_VARS (1 << 0)
00033 #define PO_NO_SUBROUTINE_DEFS (1 << 1)
00034 #define PO_NO_THREAD_CONTROL (1 << 2)
00035 #define PO_NO_THREAD_CLASSES (1 << 3)
00036 #define PO_NO_TOP_LEVEL_STATEMENTS (1 << 4)
00037 #define PO_NO_CLASS_DEFS (1 << 5)
00038 #define PO_NO_NAMESPACE_DEFS (1 << 6)
00039 #define PO_NO_CONSTANT_DEFS (1 << 7)
00040 #define PO_NO_NEW (1 << 8)
00041 #define PO_NO_SYSTEM_CLASSES (1 << 9)
00042 #define PO_NO_USER_CLASSES (1 << 10)
00043 #define PO_NO_CHILD_PO_RESTRICTIONS (1 << 11)
00044 #define PO_NO_EXTERNAL_PROCESS (1 << 12)
00045 #define PO_REQUIRE_OUR (1 << 13)
00046 #define PO_NO_PROCESS_CONTROL (1 << 14)
00047 #define PO_NO_NETWORK (1 << 15)
00048 #define PO_NO_FILESYSTEM (1 << 16)
00049 #define PO_LOCK_WARNINGS (1 << 17)
00050 #define PO_NO_DATABASE (1 << 18)
00051 #define PO_NO_GUI (1 << 19)
00052 #define PO_NO_TERMINAL_IO (1 << 20)
00053
00054
00056 #define PO_NO_THREADS (PO_NO_THREAD_CONTROL|PO_NO_THREAD_CLASSES)
00057
00059 #define PO_NO_EXTERNAL_ACCESS (PO_NO_PROCESS_CONTROL|PO_NO_NETWORK|PO_NO_FILESYSTEM|PO_NO_DATABASE)
00060
00062 #define PO_NO_IO (PO_NO_GUI|PO_NO_TERMINAL_IO|PO_NO_FILESYSTEM)
00063
00065 #define PO_POSITIVE_OPTIONS (PO_NO_CHILD_PO_RESTRICTIONS)
00066
00067 #define QDOM_DEFAULT PO_DEFAULT
00068 #define QDOM_PROCESS PO_NO_PROCESS_CONTROL
00069 #define QDOM_NETWORK PO_NO_NETWORK
00070 #define QDOM_EXTERNAL_PROCESS PO_NO_EXTERNAL_PROCESS
00071 #define QDOM_FILESYSTEM PO_NO_FILESYSTEM
00072 #define QDOM_THREAD_CLASS PO_NO_THREAD_CLASSES
00073 #define QDOM_THREAD_CONTROL PO_NO_THREAD_CONTROL
00074 #define QDOM_DATABASE PO_NO_DATABASE
00075 #define QDOM_GUI PO_NO_GUI
00076 #define QDOM_TERMINAL_IO PO_NO_TERMINAL_IO
00077
00078 #endif //_QORE_DOMAIN_H