source: trunk/desktop/src/vdesktop.c@ 113

Last change on this file since 113 was 113, checked in by cinc, 19 years ago

Implemented wpRequestObjectMutex() and wpReleaseObjectMutex(). These are implemented using the OS/2 api.

File size: 4.2 KB
Line 
1/* ***** BEGIN LICENSE BLOCK *****
2* Version: CDDL 1.0/LGPL 2.1
3*
4* The contents of this file are subject to the COMMON DEVELOPMENT AND
5* DISTRIBUTION LICENSE (CDDL) Version 1.0 (the "License"); you may not use
6* this file except in compliance with the License. You may obtain a copy of
7* the License at http://www.sun.com/cddl/
8*
9* Software distributed under the License is distributed on an "AS IS" basis,
10* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11* for the specific language governing rights and limitations under the
12* License.
13*
14* The Original Code is "NOM" Netlabs Object Model
15*
16* The Initial Developer of the Original Code is
17* netlabs.org: Chris Wohlgemuth <cinc-ml@netlabs.org>.
18* Portions created by the Initial Developer are Copyright (C) 2005-2006
19* the Initial Developer. All Rights Reserved.
20*
21* Contributor(s):
22*
23* Alternatively, the contents of this file may be used under the terms of
24* the GNU Lesser General Public License Version 2.1 (the "LGPL"), in which
25* case the provisions of the LGPL are applicable instead of those above. If
26* you wish to allow use of your version of this file only under the terms of
27* the LGPL, and not to allow others to use your version of this file under
28* the terms of the CDDL, indicate your decision by deleting the provisions
29* above and replace them with the notice and other provisions required by the
30* LGPL. If you do not delete the provisions above, a recipient may use your
31* version of this file under the terms of any one of the CDDL or the LGPL.
32*
33* ***** END LICENSE BLOCK ***** */
34
35#define INCL_DOS
36#define INCL_PM
37#include <os2.h>
38#include <stdio.h>
39#include <gtk/gtk.h>
40#include "debug_window.h"
41
42#include "nom.h"
43#include "nomtk.h"
44#include "wpobject.h"
45#include "wpfolder.h"
46
47int createQuitWindow(void);
48
49PNOM_ENV pEnv;
50NOMClassMgr *NOMClassMgrObject;
51
52
53/* Desktop folder */
54WPFolder *wpDesktop;
55
56
57/*
58 Main entry point. This function is called from the EMX wrapper. Be aware that gtk_init()
59 is already called in the wrapper.
60 */
61int _System main_loop()
62{
63 char desktopDir[CCHMAXPATH]={0};
64
65 g_message("We started...\n");
66
67#if 0
68 /* Initialize thread subsystem */
69 if(!g_thread_supported())
70 g_thread_init(NULL);
71#endif
72
73 /* Create a window with a 'quit' button to terminate us */
74 createQuitWindow();
75
76
77 /* Query current dir */
78 g_strlcpy(desktopDir, g_get_current_dir(), sizeof(desktopDir));
79 dbgPrintf("Desktop: %s", desktopDir);
80
81 /*
82 Bootstrap our objects...
83 */
84 pEnv=nomTkInit();
85 //dbgPrintf( "nomTKinit returned: %x", pEnv);
86
87 if(!pEnv) {
88 nomPrintf("Can't initialize NOM environment. Exit...\n");
89 return(1);
90 }
91
92 /* Init SOM */
93 NOMClassMgrObject=nomEnvironmentNew();
94 //dbgPrintf( "NOMClassMgrObject: %x", NOMClassMgrObject);
95
96
97
98 WPObject* wpObject;
99 wpObject=WPObjectNew();
100 //dbgPrintf( "wpObject: %x", wpObject);
101
102 /* Create desktop folder */
103 wpDesktop=WPFolderNew();
104 dbgPrintf( "Created desktop object: %x", wpDesktop);
105
106 WPFolder_wpPopulate(wpDesktop, 0, desktopDir, 0, NULL);
107 /* WPFolder_wpPopulate(wpObject, 0,"blabla 2", 0, NULL); */
108
109
110#if 0
111 /* Base classes */
112 wpObject=WPDataFileNew();
113
114 somPrintf("\nNew wpObject: %x\n", wpObject);
115 somPrintf(" -> Classname is: %s\n", _somGetClassName(wpObject));
116
117
118 /* Test only!!! */
119 _tstSetFullPath(wpDesktop, desktopDir);
120
121 _wpSetFolder(wpDesktop, NULLHANDLE); /* FIXME: Instance var is zero anyway but this way I don't forget it ;-) */
122 _wpOpen(wpDesktop, NULLHANDLE, OPEN_DEFAULT, 0); /* remove parameter later!!! */
123 /* _dbgPrintRegisteredClasses(SOMClassMgrObject);*/
124
125#endif
126 /* All GTK applications must have a gtk_main(). Control ends here
127 * and waits for an event to occur (like a key press or
128 * mouse event). */
129 gtk_main ();
130
131 printf("And now we quit...\n");
132 return 0;
133}
134
135
136/*
137 Just a test function for making noise...
138 */
139void _System theBeep(void)
140{
141 DosBeep(2500,400);
142 DosBeep(500,200);
143 DosBeep(1500,200);
144 DosBeep(2500,400);
145 DosBeep(1500,200);
146 DosBeep(500,200);
147 DosBeep(2500,400);
148}
Note: See TracBrowser for help on using the repository browser.