64-bit fix. Changed the user-supplied IDs used with
[AROS.git] / workbench / libs / workbench / workbenchcontrola.c
blob50d35ea1c5826cf420c0cf6755ec8eae87421d30
1 /*
2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Change global options and control the Workbench in various ways.
6 Lang: english
7 */
9 #include <exec/ports.h>
10 #include <utility/tagitem.h>
11 #include <intuition/intuition.h>
12 #include <workbench/workbench.h>
13 #include <proto/utility.h>
15 #include "workbench_intern.h"
16 #include "support.h"
18 /*****************************************************************************
20 NAME */
22 #include <proto/workbench.h>
24 AROS_LH2(BOOL, WorkbenchControlA,
26 /* SYNOPSIS */
27 AROS_LHA(STRPTR, name, A0),
28 AROS_LHA(struct TagItem *, tags, A1),
30 /* LOCATION */
31 struct WorkbenchBase *, WorkbenchBase, 18, Workbench)
33 /* FUNCTION
35 INPUTS
37 RESULT
39 NOTES
41 EXAMPLE
43 BUGS
45 SEE ALSO
47 INTERNALS
49 ******************************************************************************/
51 AROS_LIBFUNC_INIT
53 struct TagItem *tstate = tags,
54 *tag;
55 BOOL rc = TRUE;
57 # define STORE(pointer, value) (pointer != NULL ? *pointer = (value) : (value))
59 while ((tag = NextTagItem(&tstate)) != NULL)
61 switch (tag->ti_Tag)
63 case WBCTRLA_IsOpen:
64 /* TODO: Do something... */
65 break;
67 case WBCTRLA_DuplicateSearchPath:
68 STORE
70 (BPTR *) tag->ti_Data,
71 DuplicateSearchPath(WorkbenchBase->wb_SearchPath)
73 break;
75 case WBCTRLA_FreeSearchPath:
76 FreeSearchPath((BPTR) tag->ti_Data);
77 break;
79 case WBCTRLA_GetDefaultStackSize:
80 STORE
82 (ULONG *) tag->ti_Data,
83 WorkbenchBase->wb_DefaultStackSize
85 break;
87 case WBCTRLA_SetDefaultStackSize:
88 WorkbenchBase->wb_DefaultStackSize = tag->ti_Data;
89 break;
91 case WBCTRLA_RedrawAppIcon:
92 /* TODO: Do something... */
93 break;
95 case WBCTRLA_GetProgramList:
96 /* TODO: Do something... */
97 break;
99 case WBCTRLA_FreeProgramList:
100 /* TODO: Do something... */
101 break;
103 case WBCTRLA_GetSelectedIconList:
104 /* TODO: Do something... */
105 break;
107 case WBCTRLA_FreeSelectedIconList:
108 /* TODO: Do something... */
109 break;
111 case WBCTRLA_GetOpenDrawerList:
112 /* TODO: Do something... */
113 break;
115 case WBCTRLA_FreeOpenDrawerList:
116 /* TODO: Do something... */
117 break;
119 case WBCTRLA_GetHiddenDeviceList:
120 /* TODO: Do something... */
121 break;
123 case WBCTRLA_FreeHiddenDeviceList:
124 /* TODO: Do something... */
125 break;
127 case WBCTRLA_AddHiddenDeviceName:
128 AddHiddenDevice((STRPTR) tag->ti_Data);
129 break;
131 case WBCTRLA_RemoveHiddenDeviceName:
132 RemoveHiddenDevice((STRPTR) tag->ti_Data);
133 break;
135 case WBCTRLA_GetTypeRestartTime:
136 STORE
138 (ULONG *) tag->ti_Data,
139 WorkbenchBase->wb_TypeRestartTime
141 break;
143 case WBCTRLA_SetTypeRestartTime:
144 WorkbenchBase->wb_TypeRestartTime = tag->ti_Data;
145 break;
149 return rc;
151 # undef STORE
153 AROS_LIBFUNC_EXIT
154 } /* WorkbenchControlA */