Mac OS 9
JManager.h
Go to the documentation of this file.
1 
19 #ifndef __JMANAGER__
20 #define __JMANAGER__
21 
27 #ifndef __CONDITIONALMACROS__
28 #include <ConditionalMacros.h>
29 #endif
30 
31 #ifndef __MACTYPES__
32 #include <MacTypes.h>
33 #endif
34 
35 #ifndef __FILES__
36 #include <Files.h>
37 #endif
38 
39 #ifndef __DRAG__
40 #include <Drag.h>
41 #endif
42 
43 #ifndef __QUICKDRAW__
44 #include <Quickdraw.h>
45 #endif
46 
47 #ifndef __MENUS__
48 #include <Menus.h>
49 #endif
50 
51 #ifndef __TEXTCOMMON__
52 #include <TextCommon.h>
53 #endif
54 
55 #ifndef __CODEFRAGMENTS__
56 #include <CodeFragments.h>
57 #endif
58 
59 #if PRAGMA_ONCE
60 #pragma once
61 #endif
62 
63 #ifdef __cplusplus
64 extern "C"
65 {
66 #endif
67 
68 #if PRAGMA_IMPORT
69 #pragma import on
70 #endif
71 
72 #if PRAGMA_STRUCT_ALIGN
73 #pragma options align = mac68k
74 #elif PRAGMA_STRUCT_PACKPUSH
75 #pragma pack(push, 2)
76 #elif PRAGMA_STRUCT_PACK
77 #pragma pack(2)
78 #endif
79 
80 #if PRAGMA_ENUM_ALWAYSINT
81 #if defined(__fourbyteints__) && !__fourbyteints__
82 #define __JMANAGER__RESTORE_TWOBYTEINTS
83 #pragma fourbyteints on
84 #endif
85 #pragma enumsalwaysint on
86 #elif PRAGMA_ENUM_OPTIONS
87 #pragma option enum =int
88 #elif PRAGMA_ENUM_PACK
89 #if __option(pack_enums)
90 #define __JMANAGER__RESTORE_PACKED_ENUMS
91 #pragma options(!pack_enums)
92 #endif
93 #endif
94 
95  enum
96  {
97  kJMVersion = 0x11800007, /* using Sun's 1.1.8 APIs, our rev 7 APIs. */
98  kDefaultJMTime = 0x00000400 /* how much time to give the JM library on "empty"
99  events, in milliseconds. */
100  };
101 
102  enum
103  {
104  kJMVersionError = -60000L,
105  kJMExceptionOccurred = -60001L,
106  kJMBadClassPathError = -60002L
107  };
108 
118  enum
119  {
120  kModifierAsciiChar = 0,
121  kModifierKeyCode = 0
122  };
123 
138  typedef void *JMClientData;
139  typedef struct OpaqueJMSessionRef *JMSessionRef;
140  typedef struct OpaqueJMFrameRef *JMFrameRef;
141  typedef struct OpaqueJMTextRef *JMTextRef;
142  typedef struct OpaqueJMAWTContextRef *JMAWTContextRef;
143  typedef struct OpaqueJMAppletLocatorRef *JMAppletLocatorRef;
144  typedef struct OpaqueJMAppletViewerRef *JMAppletViewerRef;
145  typedef struct OpaqueJMAppletPageRef *JMAppletPageRef;
146  typedef TextEncoding JMTextEncoding;
147 
168  typedef CALLBACK_API_C(void, JMConsoleProcPtr)(JMSessionRef session,
169  const void *message,
170  SInt32 messageLengthInBytes);
171  typedef CALLBACK_API_C(SInt32, JMConsoleReadProcPtr)(JMSessionRef session,
172  void *buffer,
173  SInt32 maxBufferLength);
174  typedef CALLBACK_API_C(Boolean, JMExitProcPtr)(JMSessionRef session,
175  SInt32 status);
176  typedef CALLBACK_API_C(Boolean, JMAuthenticateURLProcPtr)(JMSessionRef session,
177  const char *url,
178  const char *realm,
179  char userName[255],
180  char password[255]);
181  typedef CALLBACK_API_C(void, JMLowMemoryProcPtr)(JMSessionRef session);
183  {
184  UInt32 fVersion; /* should be set to kJMVersion */
185  JMConsoleProcPtr
186  fStandardOutput; /* JM will route "stdout" to this function. */
187  JMConsoleProcPtr
188  fStandardError; /* JM will route "stderr" to this function. */
189  JMConsoleReadProcPtr fStandardIn; /* read from console - can be nil for
190  default behavior (no console IO) */
191  JMExitProcPtr fExitProc; /* handle System.exit(int) requests */
192  JMAuthenticateURLProcPtr
193  fAuthenticateProc; /* present basic authentication dialog */
194  JMLowMemoryProcPtr fLowMemProc; /* Low Memory notification Proc */
195  };
196  typedef struct JMSessionCallbacks JMSessionCallbacks;
197  enum JMVerifierOptions
198  {
199  eDontCheckCode = 0,
200  eCheckRemoteCode = 1,
201  eCheckAllCode = 2
202  };
203  typedef enum JMVerifierOptions JMVerifierOptions;
204 
211  {
212  eJManager2Defaults = 0,
213  eUseAppHeapOnly = (1 << 0),
214  eDisableJITC = (1 << 1),
215  eEnableDebugger = (1 << 2),
216  eDisableInternetConfig = (1 << 3),
217  eInhibitClassUnloading = (1 << 4),
218  eEnableProfiling = (1 << 5),
219  eJManager1Compatible = (eDisableInternetConfig | eInhibitClassUnloading)
220  };
221  typedef enum JMRuntimeOptions JMRuntimeOptions;
222 
229 #if CALL_NOT_IN_CARBON
238  unsigned long
240 
255  UInt32
257 
276  OSStatus
277  JMOpenSession(JMSessionRef *session, JMRuntimeOptions runtimeOptions,
278  JMVerifierOptions verifyMode, const JMSessionCallbacks *callbacks,
279  JMTextEncoding desiredEncoding, JMClientData data);
280 
289  OSStatus
290  JMCloseSession(JMSessionRef session);
291 
303  OSStatus
304  JMGetSessionData(JMSessionRef session, JMClientData *data);
305 
314  OSStatus
315  JMSetSessionData(JMSessionRef session, JMClientData data);
316 
329  OSStatus
330  JMAddToClassPath(JMSessionRef session, const FSSpec *spec);
331 
344  Handle
345  JMFSSToURL(JMSessionRef session, const FSSpec *spec);
346 
358  OSStatus
359  JMURLToFSS(JMSessionRef session, JMTextRef urlString, FSSpec *spec);
360 
374  OSStatus
375  JMIdle(JMSessionRef session, UInt32 jmTimeMillis);
376 
377 #endif /* CALL_NOT_IN_CARBON */
378 
385 #ifdef JRI_H
386 #if CALL_NOT_IN_CARBON
395  JRIRuntimeInstance *
396  JMGetJRIRuntimeInstance(JMSessionRef session);
397 
406  JRIEnv *
407  JMGetCurrentJRIEnv(JMSessionRef session);
408 
409 #endif /* CALL_NOT_IN_CARBON */
410 
411 #endif /* defined(JRI_H) */
412 
416 #ifdef JNI_H
417 #if CALL_NOT_IN_CARBON
426  JNIEnv *
427  JMGetCurrentEnv(JMSessionRef session);
428 
429 #endif /* CALL_NOT_IN_CARBON */
430 
431 #endif /* defined(JNI_H) */
432 
438 #if defined(JRI_H) && defined(JNI_H)
439 #if CALL_NOT_IN_CARBON
448  jobject
449  JMJRIRefToJNIObject(JMSessionRef session, JNIEnv *env, jref jriRef);
450 
459  jref
460  JMJNIObjectToJRIRef(JMSessionRef session, JNIEnv *env, jobject jniObject);
461 
462 #endif /* CALL_NOT_IN_CARBON */
463 
464 #endif /* defined(JRI_H) && defined(JNI_H) */
465 
472 #if CALL_NOT_IN_CARBON
481  OSStatus
482  JMGetSessionProperty(JMSessionRef session, JMTextRef propertyName,
483  JMTextRef *propertyValue);
484 
493  OSStatus
494  JMPutSessionProperty(JMSessionRef session, JMTextRef propertyName,
495  JMTextRef propertyValue);
496 
497 #endif /* CALL_NOT_IN_CARBON */
498 
502 #ifdef JNI_H
503 #if CALL_NOT_IN_CARBON
512  jobject
513  JMGetSessionJNIObject(JMSessionRef session, JNIEnv *env);
514 
515 #endif /* CALL_NOT_IN_CARBON */
516 
517 #endif /* defined(JNI_H) */
518 
519 #ifdef JRI_H
520 #if CALL_NOT_IN_CARBON
529  jref
530  JMGetSessionObject(JMSessionRef session);
531 
532 #endif /* CALL_NOT_IN_CARBON */
533 
534 #endif /* defined(JRI_H) */
535 
558 #if CALL_NOT_IN_CARBON
567  OSStatus
568  JMNewTextRef(JMSessionRef session, JMTextRef *textRef, JMTextEncoding encoding,
569  const void *charBuffer, UInt32 bufferLengthInBytes);
570 
582  OSStatus
583  JMCopyTextRef(JMTextRef textRefSrc, JMTextRef *textRefDst);
584 
597  OSStatus
598  JMDisposeTextRef(JMTextRef textRef);
599 
611  OSStatus
612  JMGetTextLength(JMTextRef textRef, UInt32 *textLengthInCharacters);
613 
625  OSStatus
626  JMGetTextLengthInBytes(JMTextRef textRef, JMTextEncoding dstEncoding,
627  UInt32 *textLengthInBytes);
628 
641  OSStatus
642  JMGetTextBytes(JMTextRef textRef, JMTextEncoding dstEncoding, void *textBuffer,
643  UInt32 textBufferLength, UInt32 *numCharsCopied);
644 
645 #endif /* CALL_NOT_IN_CARBON */
646 
652 #ifdef JNI_H
653 #if CALL_NOT_IN_CARBON
662  jstring
663  JMTextToJNIJavaString(JMTextRef textRef, JMSessionRef session, JNIEnv *env);
664 
665 #endif /* CALL_NOT_IN_CARBON */
666 
667 #endif /* defined(JNI_H) */
668 
669 #ifdef JRI_H
670 #if CALL_NOT_IN_CARBON
679  jref
680  JMTextToJavaString(JMTextRef textRef);
681 
682 #endif /* CALL_NOT_IN_CARBON */
683 
684 #endif /* defined(JRI_H) */
685 
691 #if CALL_NOT_IN_CARBON
700  Handle
701  JMTextToMacOSCStringHandle(JMTextRef textRef);
702 
709 #endif /* CALL_NOT_IN_CARBON */
710 
711  struct JMProxyInfo
712  {
713  Boolean useProxy;
714  char proxyHost[255];
715  UInt16 proxyPort;
716  };
717  typedef struct JMProxyInfo JMProxyInfo;
718  enum JMProxyType
719  {
720  eHTTPProxy = 0,
721  eFirewallProxy = 1,
722  eFTPProxy = 2
723  };
724  typedef enum JMProxyType JMProxyType;
725 
726 #if CALL_NOT_IN_CARBON
735  OSStatus
736  JMGetProxyInfo(JMSessionRef session, JMProxyType proxyType,
737  JMProxyInfo *proxyInfo);
738 
747  OSStatus
748  JMSetProxyInfo(JMSessionRef session, JMProxyType proxyType,
749  const JMProxyInfo *proxyInfo);
750 
764  OSStatus
765  JMGetVerifyMode(JMSessionRef session, JMVerifierOptions *verifierOptions);
766 
775  OSStatus
776  JMSetVerifyMode(JMSessionRef session, JMVerifierOptions verifierOptions);
777 
800 #endif /* CALL_NOT_IN_CARBON */
801 
803  {
804  eBringToFront = 0, /* bring the window to front */
805  eSendToBack = 1, /* send the window to back */
806  eSendBehindFront = 2 /* send the window behind the front window */
807  };
808  typedef enum ReorderRequest ReorderRequest;
809 
810  typedef CALLBACK_API_C(void, JMSetFrameSizeProcPtr)(JMFrameRef frame,
811  const Rect *newBounds);
812  typedef CALLBACK_API_C(void, JMFrameInvalRectProcPtr)(JMFrameRef frame,
813  const Rect *r);
814  typedef CALLBACK_API_C(void,
815  JMFrameShowHideProcPtr)(JMFrameRef frame,
816  Boolean showFrameRequested);
817  typedef CALLBACK_API_C(void, JMSetTitleProcPtr)(JMFrameRef frame,
818  JMTextRef title);
819  typedef CALLBACK_API_C(void, JMCheckUpdateProcPtr)(JMFrameRef frame);
820  typedef CALLBACK_API_C(void, JMReorderFrame)(JMFrameRef frame,
822  typedef CALLBACK_API_C(void, JMSetResizeable)(JMFrameRef frame,
823  Boolean resizeable);
824  typedef CALLBACK_API_C(void, JMGetFrameInsets)(JMFrameRef frame, Rect *insets);
837  typedef CALLBACK_API_C(void, JMNextFocus)(JMFrameRef frame, Boolean forward);
838  typedef CALLBACK_API_C(void, JMRequestFocus)(JMFrameRef frame);
840  {
841  UInt32 fVersion; /* should be set to kJMVersion */
842  JMSetFrameSizeProcPtr fSetFrameSize;
843  JMFrameInvalRectProcPtr fInvalRect;
844  JMFrameShowHideProcPtr fShowHide;
845  JMSetTitleProcPtr fSetTitle;
846  JMCheckUpdateProcPtr fCheckUpdate;
847  JMReorderFrame fReorderFrame;
848  JMSetResizeable fSetResizeable;
849  JMGetFrameInsets fGetInsets;
850  JMNextFocus fNextFocus;
851  JMRequestFocus fRequestFocus;
852  };
853  typedef struct JMFrameCallbacks JMFrameCallbacks;
854 #if CALL_NOT_IN_CARBON
863  OSStatus
864  JMSetFrameVisibility(JMFrameRef frame, GrafPtr famePort, Point frameOrigin,
865  RgnHandle frameClip);
866 
875  OSStatus
876  JMGetFrameData(JMFrameRef frame, JMClientData *data);
877 
886  OSStatus
887  JMSetFrameData(JMFrameRef frame, JMClientData data);
888 
897  OSStatus
898  JMGetFrameSize(JMFrameRef frame, Rect *result);
899 
900  /* note that the top left indicates the "global" position of this frame */
901  /* use this to update the frame position when it gets moved */
910  OSStatus
911  JMSetFrameSize(JMFrameRef frame, const Rect *newSize);
912 
924  OSStatus
925  JMFrameClickWithEventRecord(JMFrameRef frame, Point localPos,
926  const EventRecord *event);
927 
936  OSStatus
937  JMFrameKey(JMFrameRef frame, char asciiChar, char keyCode, short modifiers);
938 
947  OSStatus
948  JMFrameKeyRelease(JMFrameRef frame, char asciiChar, char keyCode,
949  short modifiers);
950 
959  OSStatus
960  JMFrameUpdate(JMFrameRef frame, RgnHandle updateRgn);
961 
970  OSStatus
971  JMFrameActivate(JMFrameRef frame, Boolean activate);
972 
981  OSStatus
982  JMFrameResume(JMFrameRef frame, Boolean resume);
983 
992  OSStatus
993  JMFrameMouseOver(JMFrameRef frame, Point localPos, short modifiers);
994 
1003  OSStatus
1004  JMFrameShowHide(JMFrameRef frame, Boolean showFrame);
1005 
1014  OSStatus
1015  JMFrameGoAway(JMFrameRef frame);
1016 
1025  JMAWTContextRef
1026  JMGetFrameContext(JMFrameRef frame);
1027 
1036  OSStatus
1037  JMFrameDragTracking(JMFrameRef frame, DragTrackingMessage message,
1038  DragReference theDragRef);
1039 
1048  OSStatus
1049  JMFrameDragReceive(JMFrameRef frame, DragReference theDragRef);
1050 
1062  OSStatus
1063  JMFrameClick(JMFrameRef frame, Point localPos, short modifiers);
1064 
1081  OSStatus
1082  JMFrameFocus(JMFrameRef frame, Boolean gotFocus);
1083 
1099  OSStatus
1100  JMDrawFrameInPort(JMFrameRef frame, GrafPtr framePort, Point frameOrigin,
1101  RgnHandle clipRgn, Boolean callPaintAsOpposedToPrint);
1102 
1103 #endif /* CALL_NOT_IN_CARBON */
1104 
1108 #ifdef JNI_H
1109 #if CALL_NOT_IN_CARBON
1118  jobject
1119  JMGetAWTFrameJNIObject(JMFrameRef frame, JNIEnv *env);
1120 
1121 #endif /* CALL_NOT_IN_CARBON */
1122 
1123 #endif /* defined(JNI_H) */
1124 
1125 #ifdef JRI_H
1126 #if CALL_NOT_IN_CARBON
1135  jref
1136  JMGetAWTFrameObject(JMFrameRef frame);
1137 
1138 #endif /* CALL_NOT_IN_CARBON */
1139 
1140 #endif /* defined(JRI_H) */
1141 
1145 #ifdef JNI_H
1146 #if CALL_NOT_IN_CARBON
1155  jobject
1156  JMGetJMFrameJNIObject(JMFrameRef frame, JNIEnv *env);
1157 
1158 #endif /* CALL_NOT_IN_CARBON */
1159 
1160 #endif /* defined(JNI_H) */
1161 
1162 #ifdef JRI_H
1163 #if CALL_NOT_IN_CARBON
1172  jref
1173  JMGetJMFrameObject(JMFrameRef frame);
1174 
1175 #endif /* CALL_NOT_IN_CARBON */
1176 
1177 #endif /* defined(JRI_H) */
1178 
1183  {
1184  eBorderlessModelessWindowFrame = 0,
1185  eModelessWindowFrame = 1,
1186  eModalWindowFrame = 2,
1187  eModelessDialogFrame = 3
1188  };
1189  typedef enum JMFrameKind JMFrameKind;
1190 
1191 /* JMAppletPageRef -
1192  * Creating a "page" is optional.
1193  * Applets will share the same class loader (and thus static variables) iff
1194  * they are share the same JMAppletPageRef and have the same codebase.
1195  */
1196 #if CALL_NOT_IN_CARBON
1205  OSStatus
1206  JMNewAppletPage(JMAppletPageRef *page, JMSessionRef session);
1207 
1216  OSStatus
1217  JMDisposeAppletPage(JMAppletPageRef page);
1218 
1219 /* JMAWTContext -
1220  * To create a top level frame, you must use a JMAWTContext object.
1221  * The JMAWTContext provides a context for the AWT to request frames.
1222  * A AWTContext has a threadgroup associated with it - all events and processing
1223  * occurs there. When you create one, it is quiescent, you must call resume
1224  * before it begins executing.
1225  */
1226 #endif /* CALL_NOT_IN_CARBON */
1227 
1228  typedef CALLBACK_API_C(OSStatus, JMRequestFrameProcPtr)(
1229  JMAWTContextRef context, JMFrameRef newFrame, JMFrameKind kind,
1230  const Rect *initialBounds, Boolean resizeable, JMFrameCallbacks *callbacks);
1231  typedef CALLBACK_API_C(OSStatus, JMReleaseFrameProcPtr)(JMAWTContextRef context,
1232  JMFrameRef oldFrame);
1233  typedef CALLBACK_API_C(SInt16, JMUniqueMenuIDProcPtr)(JMAWTContextRef context,
1234  Boolean isSubmenu);
1235  typedef CALLBACK_API_C(void,
1236  JMExceptionOccurredProcPtr)(JMAWTContextRef context,
1237  JMTextRef exceptionName,
1238  JMTextRef exceptionMsg,
1239  JMTextRef stackTrace);
1241  {
1242  UInt32 fVersion; /* should be set to kJMVersion */
1243  JMRequestFrameProcPtr fRequestFrame; /* a new frame is being created. */
1244  JMReleaseFrameProcPtr
1245  fReleaseFrame; /* an existing frame is being destroyed. */
1246  JMUniqueMenuIDProcPtr
1247  fUniqueMenuID; /* a new menu will be created with this id. */
1248  JMExceptionOccurredProcPtr
1249  fExceptionOccurred; /* just some notification that some recent operation
1250  caused an exception. You can't do anything really
1251  from here. */
1252  };
1254 #if CALL_NOT_IN_CARBON
1263  OSStatus
1264  JMNewAWTContext(JMAWTContextRef *context, JMSessionRef session,
1265  const JMAWTContextCallbacks *callbacks, JMClientData data);
1266 
1275  OSStatus
1276  JMNewAWTContextInPage(JMAWTContextRef *context, JMSessionRef session,
1277  JMAppletPageRef page,
1278  const JMAWTContextCallbacks *callbacks,
1279  JMClientData data);
1280 
1289  OSStatus
1290  JMDisposeAWTContext(JMAWTContextRef context);
1291 
1300  OSStatus
1301  JMGetAWTContextData(JMAWTContextRef context, JMClientData *data);
1302 
1311  OSStatus
1312  JMSetAWTContextData(JMAWTContextRef context, JMClientData data);
1313 
1322  OSStatus
1323  JMCountAWTContextFrames(JMAWTContextRef context, UInt32 *frameCount);
1324 
1333  OSStatus
1334  JMGetAWTContextFrame(JMAWTContextRef context, UInt32 frameIndex,
1335  JMFrameRef *frame);
1336 
1349  OSStatus
1350  JMMenuSelected(JMAWTContextRef context, MenuRef hMenu, short menuItem);
1351 
1364  OSStatus
1365  JMMenuSelectedWithModifiers(JMAWTContextRef context, MenuRef hMenu,
1366  short menuItem, short modifiers);
1367 
1368 #endif /* CALL_NOT_IN_CARBON */
1369 
1370 #ifdef JRI_H
1374 #if CALL_NOT_IN_CARBON
1383  OSStatus
1384  JMExecMethodInContext(JMAWTContextRef context, jref objref,
1385  JRIMethodID methodID, UInt32 argCount, JRIValue args[]);
1386 
1395  OSStatus
1396  JMExecStaticMethodInContext(JMAWTContextRef context, JRIClassID classID,
1397  JRIMethodID methodID, UInt32 argCount,
1398  JRIValue args[]);
1399 
1400 #endif /* CALL_NOT_IN_CARBON */
1401 
1402 #endif /* defined(JRI_H) */
1403 
1404 #ifdef JNI_H
1409 #if CALL_NOT_IN_CARBON
1418  OSStatus
1419  JMExecJNIMethodInContext(JMAWTContextRef context, JNIEnv *env, jobject objref,
1420  jmethodID methodID, UInt32 argCount, jvalue args[]);
1421 
1430  OSStatus
1431  JMExecJNIStaticMethodInContext(JMAWTContextRef context, JNIEnv *env,
1432  jclass classID, jmethodID methodID,
1433  UInt32 argCount, jvalue args[]);
1434 
1435 #endif /* CALL_NOT_IN_CARBON */
1436 
1437 #endif /* defined(JNI_H) */
1438 
1442 #ifdef JNI_H
1443 #if CALL_NOT_IN_CARBON
1452  jobject
1453  JMGetAwtContextJNIObject(JMAWTContextRef context, JNIEnv *env);
1454 
1455 #endif /* CALL_NOT_IN_CARBON */
1456 
1457 #endif /* defined(JNI_H) */
1458 
1459 #ifdef JRI_H
1460 #if CALL_NOT_IN_CARBON
1469  jref
1470  JMGetAwtContextObject(JMAWTContextRef context);
1471 
1472 #endif /* CALL_NOT_IN_CARBON */
1473 
1474 #endif /* defined(JRI_H) */
1475 
1476 #ifdef JNI_H
1481 #if CALL_NOT_IN_CARBON
1490  JMAWTContextRef
1491  JMJNIToAWTContext(JMSessionRef session, JNIEnv *env);
1492 
1493 #endif /* CALL_NOT_IN_CARBON */
1494 
1495 #endif /* defined(JNI_H) */
1496 
1510  {
1511  eLocatorNoErr = 0, /* the html was retrieved successfully*/
1512  eHostNotFound = 1, /* the host specified by the url could not be found*/
1513  eFileNotFound = 2, /* the file could not be found on the host*/
1514  eLocatorTimeout = 3, /* a timeout occurred retrieving the html text*/
1515  eLocatorKilled =
1516  4 /* in response to a JMDisposeAppletLocator before it has completed*/
1517  };
1518  typedef enum JMLocatorErrors JMLocatorErrors;
1519 
1520  typedef CALLBACK_API_C(void, JMFetchCompleted)(JMAppletLocatorRef ref,
1521  JMLocatorErrors status);
1523  {
1524  UInt32 fVersion; /* should be set to kJMVersion */
1525  JMFetchCompleted
1526  fCompleted; /* called when the html has been completely fetched */
1527  };
1535  {
1536  JMTextRef fParamName; /* could be from a <parameter name=foo value=bar> or
1537  "zipbase", etc */
1538  JMTextRef fParamValue; /* the value of this optional tag */
1539  };
1542  {
1543  UInt32 fVersion; /* should be set to kJMVersion */
1544 
1545  /* These are required to be present and not nil */
1546 
1547  JMTextRef fBaseURL; /* the URL of this applet's host page */
1548  JMTextRef fAppletCode; /* code= parameter */
1549  short fWidth; /* width= parameter */
1550  short fHeight; /* height= parameter */
1551 
1552  /* These are optional parameters */
1553  SInt32 fOptionalParameterCount; /* how many in this array */
1555  *fParams; /* pointer to an array of these (points to first element) */
1556  };
1557  typedef struct JMLocatorInfoBlock JMLocatorInfoBlock;
1558 #if CALL_NOT_IN_CARBON
1567  OSStatus
1568  JMNewAppletLocator(JMAppletLocatorRef *locatorRef, JMSessionRef session,
1569  const JMAppletLocatorCallbacks *callbacks, JMTextRef url,
1570  JMTextRef htmlText, JMClientData data);
1571 
1580  OSStatus
1581  JMNewAppletLocatorFromInfo(JMAppletLocatorRef *locatorRef, JMSessionRef session,
1582  const JMLocatorInfoBlock *info, JMClientData data);
1583 
1592  OSStatus
1593  JMDisposeAppletLocator(JMAppletLocatorRef locatorRef);
1594 
1603  OSStatus
1604  JMGetAppletLocatorData(JMAppletLocatorRef locatorRef, JMClientData *data);
1605 
1614  OSStatus
1615  JMSetAppletLocatorData(JMAppletLocatorRef locatorRef, JMClientData data);
1616 
1625  OSStatus
1626  JMCountApplets(JMAppletLocatorRef locatorRef, UInt32 *appletCount);
1627 
1636  OSStatus
1637  JMGetAppletDimensions(JMAppletLocatorRef locatorRef, UInt32 appletIndex,
1638  UInt32 *width, UInt32 *height);
1639 
1648  OSStatus
1649  JMGetAppletTag(JMAppletLocatorRef locatorRef, UInt32 appletIndex,
1650  JMTextRef *tagRef);
1651 
1660  OSStatus
1661  JMGetAppletName(JMAppletLocatorRef locatorRef, UInt32 appletIndex,
1662  JMTextRef *nameRef);
1663 
1680 #endif /* CALL_NOT_IN_CARBON */
1681 
1682  typedef CALLBACK_API_C(void, JMShowDocumentProcPtr)(JMAppletViewerRef viewer,
1683  JMTextRef urlString,
1684  JMTextRef windowName);
1685  typedef CALLBACK_API_C(void, JMSetStatusMsgProcPtr)(JMAppletViewerRef viewer,
1686  JMTextRef statusMsg);
1688  {
1689  UInt32 fVersion; /* should be set to kJMVersion */
1690  JMShowDocumentProcPtr
1691  fShowDocument; /* go to a url, optionally in a new window */
1692  JMSetStatusMsgProcPtr fSetStatusMsg; /* applet changed status message */
1693  };
1701  {
1702  eNoNetworkAccess = 0,
1703  eAppletHostAccess = 1,
1704  eUnrestrictedAccess = 2
1705  };
1707 
1708  enum JMFileSystemOptions
1709  {
1710  eNoFSAccess = 0,
1711  eLocalAppletAccess = 1,
1712  eAllFSAccess = 2
1713  };
1714  typedef enum JMFileSystemOptions JMFileSystemOptions;
1715 
1723  {
1724  UInt32 fVersion; /* should be set to kJMVersion */
1726  fNetworkSecurity; /* can this applet access network resources */
1727  JMFileSystemOptions
1728  fFileSystemSecurity; /* can this applet access network resources */
1729 
1730  Boolean
1731  fRestrictSystemAccess; /* restrict access to system packages (com.apple.*,
1732  sun.*, netscape.*) also found in the property
1733  "mrj.security.system.access" */
1734  Boolean
1735  fRestrictSystemDefine; /* restrict classes from loading system packages
1736  (com.apple.*, sun.*, netscape.*) also found in
1737  the property "mrj.security.system.define" */
1738 
1739  Boolean fRestrictApplicationAccess; /* restrict access to application packages
1740  found in the property
1741  "mrj.security.application.access" */
1742  Boolean fRestrictApplicationDefine; /* restrict access to application packages
1743  found in the property
1744  "mrj.security.application.access" */
1745  };
1746  typedef struct JMAppletSecurity JMAppletSecurity;
1750 #if CALL_NOT_IN_CARBON
1759  OSStatus
1760  JMNewAppletViewer(JMAppletViewerRef *viewer, JMAWTContextRef context,
1761  JMAppletLocatorRef locatorRef, UInt32 appletIndex,
1762  const JMAppletSecurity *security,
1763  const JMAppletViewerCallbacks *callbacks, JMClientData data);
1764 
1773  OSStatus
1774  JMDisposeAppletViewer(JMAppletViewerRef viewer);
1775 
1784  OSStatus
1785  JMGetAppletViewerData(JMAppletViewerRef viewer, JMClientData *data);
1786 
1795  OSStatus
1796  JMSetAppletViewerData(JMAppletViewerRef viewer, JMClientData data);
1797 
1809  OSStatus
1810  JMGetAppletViewerSecurity(JMAppletViewerRef viewer, JMAppletSecurity *data);
1811 
1820  OSStatus
1821  JMSetAppletViewerSecurity(JMAppletViewerRef viewer,
1822  const JMAppletSecurity *data);
1823 
1836  OSStatus
1837  JMReloadApplet(JMAppletViewerRef viewer);
1838 
1847  OSStatus
1848  JMRestartApplet(JMAppletViewerRef viewer);
1849 
1862  OSStatus
1863  JMSuspendApplet(JMAppletViewerRef viewer);
1864 
1873  OSStatus
1874  JMResumeApplet(JMAppletViewerRef viewer);
1875 
1889  OSStatus
1890  JMGetFrameViewer(JMFrameRef frame, JMAppletViewerRef *viewer,
1891  JMFrameRef *parentFrame);
1892 
1904  OSStatus
1905  JMGetViewerFrame(JMAppletViewerRef viewer, JMFrameRef *frame);
1906 
1907 #endif /* CALL_NOT_IN_CARBON */
1908 
1912 #ifdef JNI_H
1913 #if CALL_NOT_IN_CARBON
1922  jobject
1923  JMGetAppletViewerJNIObject(JMAppletViewerRef viewer, JNIEnv *env);
1924 
1925 #endif /* CALL_NOT_IN_CARBON */
1926 
1927 #endif /* defined(JNI_H) */
1928 
1929 #ifdef JRI_H
1930 #if CALL_NOT_IN_CARBON
1939  jref
1940  JMGetAppletViewerObject(JMAppletViewerRef viewer);
1941 
1942 #endif /* CALL_NOT_IN_CARBON */
1943 
1944 #endif /* defined(JRI_H) */
1945 
1949 #ifdef JNI_H
1950 #if CALL_NOT_IN_CARBON
1959  jobject
1960  JMGetAppletJNIObject(JMAppletViewerRef viewer, JNIEnv *env);
1961 
1962 #endif /* CALL_NOT_IN_CARBON */
1963 
1964 #endif /* defined(JNI_H) */
1965 
1966 #ifdef JRI_H
1967 #if CALL_NOT_IN_CARBON
1976  jref
1977  JMGetAppletObject(JMAppletViewerRef viewer);
1978 
1979 #endif /* CALL_NOT_IN_CARBON */
1980 
1981 #endif /* defined(JRI_H) */
1982 
1996 #if CALL_NOT_IN_CARBON
2005  Boolean
2006  JMRegisterLibrary(JMSessionRef session, ConstStr63Param libraryName,
2007  CFragConnectionID connID, Boolean javaShouldClose);
2008 
2009 #endif /* CALL_NOT_IN_CARBON */
2010 
2011 #if PRAGMA_ENUM_ALWAYSINT
2012 #pragma enumsalwaysint reset
2013 #ifdef __JMANAGER__RESTORE_TWOBYTEINTS
2014 #pragma fourbyteints off
2015 #endif
2016 #elif PRAGMA_ENUM_OPTIONS
2017 #pragma option enum =reset
2018 #elif defined(__JMANAGER__RESTORE_PACKED_ENUMS)
2019 #pragma options(pack_enums)
2020 #endif
2021 
2022 #if PRAGMA_STRUCT_ALIGN
2023 #pragma options align = reset
2024 #elif PRAGMA_STRUCT_PACKPUSH
2025 #pragma pack(pop)
2026 #elif PRAGMA_STRUCT_PACK
2027 #pragma pack()
2028 #endif
2029 
2030 #ifdef PRAGMA_IMPORT_OFF
2031 #pragma import off
2032 #elif PRAGMA_IMPORT
2033 #pragma import reset
2034 #endif
2035 
2036 #ifdef __cplusplus
2037 }
2038 #endif
2039 
2040 #endif /* __JMANAGER__ */
Public Code Fragment Manager Interfaces.
Set up for compiler independent conditionals.
Drag and Drop Interfaces.
DragRef DragReference
Definition: Drag.h:1472
SInt16 DragTrackingMessage
Definition: Drag.h:254
File Manager (MFS, HFS, and HFS+) Interfaces.
OSStatus JMFrameClickWithEventRecord(JMFrameRef frame, Point localPos, const EventRecord *event)
OSStatus JMOpenSession(JMSessionRef *session, JMRuntimeOptions runtimeOptions, JMVerifierOptions verifyMode, const JMSessionCallbacks *callbacks, JMTextEncoding desiredEncoding, JMClientData data)
OSStatus JMGetFrameViewer(JMFrameRef frame, JMAppletViewerRef *viewer, JMFrameRef *parentFrame)
OSStatus JMFrameResume(JMFrameRef frame, Boolean resume)
OSStatus JMGetTextLength(JMTextRef textRef, UInt32 *textLengthInCharacters)
OSStatus JMFrameKeyRelease(JMFrameRef frame, char asciiChar, char keyCode, short modifiers)
OSStatus JMGetAppletViewerData(JMAppletViewerRef viewer, JMClientData *data)
OSStatus JMNewAppletPage(JMAppletPageRef *page, JMSessionRef session)
OSStatus JMGetAppletDimensions(JMAppletLocatorRef locatorRef, UInt32 appletIndex, UInt32 *width, UInt32 *height)
OSStatus JMNewAppletViewer(JMAppletViewerRef *viewer, JMAWTContextRef context, JMAppletLocatorRef locatorRef, UInt32 appletIndex, const JMAppletSecurity *security, const JMAppletViewerCallbacks *callbacks, JMClientData data)
OSStatus JMGetViewerFrame(JMAppletViewerRef viewer, JMFrameRef *frame)
OSStatus JMDisposeAppletViewer(JMAppletViewerRef viewer)
JMAWTContextRef JMGetFrameContext(JMFrameRef frame)
OSStatus JMURLToFSS(JMSessionRef session, JMTextRef urlString, FSSpec *spec)
OSStatus JMFrameUpdate(JMFrameRef frame, RgnHandle updateRgn)
OSStatus JMCountAWTContextFrames(JMAWTContextRef context, UInt32 *frameCount)
OSStatus JMSetProxyInfo(JMSessionRef session, JMProxyType proxyType, const JMProxyInfo *proxyInfo)
OSStatus JMRestartApplet(JMAppletViewerRef viewer)
OSStatus JMFrameMouseOver(JMFrameRef frame, Point localPos, short modifiers)
OSStatus JMIdle(JMSessionRef session, UInt32 jmTimeMillis)
OSStatus JMGetAppletViewerSecurity(JMAppletViewerRef viewer, JMAppletSecurity *data)
OSStatus JMAddToClassPath(JMSessionRef session, const FSSpec *spec)
OSStatus JMMenuSelectedWithModifiers(JMAWTContextRef context, MenuRef hMenu, short menuItem, short modifiers)
OSStatus JMGetFrameData(JMFrameRef frame, JMClientData *data)
OSStatus JMDrawFrameInPort(JMFrameRef frame, GrafPtr framePort, Point frameOrigin, RgnHandle clipRgn, Boolean callPaintAsOpposedToPrint)
OSStatus JMSetFrameSize(JMFrameRef frame, const Rect *newSize)
OSStatus JMDisposeAppletPage(JMAppletPageRef page)
OSStatus JMFrameKey(JMFrameRef frame, char asciiChar, char keyCode, short modifiers)
OSStatus JMFrameClick(JMFrameRef frame, Point localPos, short modifiers)
ReorderRequest
Definition: JManager.h:803
JMRuntimeOptions
Definition: JManager.h:211
OSStatus JMSetAppletViewerSecurity(JMAppletViewerRef viewer, const JMAppletSecurity *data)
OSStatus JMGetAppletTag(JMAppletLocatorRef locatorRef, UInt32 appletIndex, JMTextRef *tagRef)
OSStatus JMDisposeAWTContext(JMAWTContextRef context)
OSStatus JMSetAppletViewerData(JMAppletViewerRef viewer, JMClientData data)
OSStatus JMCountApplets(JMAppletLocatorRef locatorRef, UInt32 *appletCount)
OSStatus JMGetAWTContextData(JMAWTContextRef context, JMClientData *data)
OSStatus JMDisposeTextRef(JMTextRef textRef)
OSStatus JMGetAppletName(JMAppletLocatorRef locatorRef, UInt32 appletIndex, JMTextRef *nameRef)
JMLocatorErrors
Definition: JManager.h:1510
Handle JMTextToMacOSCStringHandle(JMTextRef textRef)
OSStatus JMGetTextBytes(JMTextRef textRef, JMTextEncoding dstEncoding, void *textBuffer, UInt32 textBufferLength, UInt32 *numCharsCopied)
OSStatus JMDisposeAppletLocator(JMAppletLocatorRef locatorRef)
UInt32 JMGetMRJRuntimeVersion(void)
OSStatus JMMenuSelected(JMAWTContextRef context, MenuRef hMenu, short menuItem)
OSStatus JMFrameShowHide(JMFrameRef frame, Boolean showFrame)
OSStatus JMNewAppletLocatorFromInfo(JMAppletLocatorRef *locatorRef, JMSessionRef session, const JMLocatorInfoBlock *info, JMClientData data)
OSStatus JMFrameFocus(JMFrameRef frame, Boolean gotFocus)
OSStatus JMSetSessionData(JMSessionRef session, JMClientData data)
unsigned long JMGetVersion(void)
OSStatus JMSetAppletLocatorData(JMAppletLocatorRef locatorRef, JMClientData data)
OSStatus JMFrameGoAway(JMFrameRef frame)
OSStatus JMNewAWTContextInPage(JMAWTContextRef *context, JMSessionRef session, JMAppletPageRef page, const JMAWTContextCallbacks *callbacks, JMClientData data)
OSStatus JMFrameDragReceive(JMFrameRef frame, DragReference theDragRef)
OSStatus JMSetVerifyMode(JMSessionRef session, JMVerifierOptions verifierOptions)
OSStatus JMCopyTextRef(JMTextRef textRefSrc, JMTextRef *textRefDst)
OSStatus JMGetAWTContextFrame(JMAWTContextRef context, UInt32 frameIndex, JMFrameRef *frame)
OSStatus JMGetProxyInfo(JMSessionRef session, JMProxyType proxyType, JMProxyInfo *proxyInfo)
OSStatus JMSetAWTContextData(JMAWTContextRef context, JMClientData data)
OSStatus JMSuspendApplet(JMAppletViewerRef viewer)
OSStatus JMGetTextLengthInBytes(JMTextRef textRef, JMTextEncoding dstEncoding, UInt32 *textLengthInBytes)
OSStatus JMFrameDragTracking(JMFrameRef frame, DragTrackingMessage message, DragReference theDragRef)
JMNetworkSecurityOptions
Definition: JManager.h:1701
OSStatus JMGetAppletLocatorData(JMAppletLocatorRef locatorRef, JMClientData *data)
OSStatus JMGetFrameSize(JMFrameRef frame, Rect *result)
OSStatus JMGetSessionData(JMSessionRef session, JMClientData *data)
OSStatus JMPutSessionProperty(JMSessionRef session, JMTextRef propertyName, JMTextRef propertyValue)
OSStatus JMCloseSession(JMSessionRef session)
typedef CALLBACK_API_C(void, JMConsoleProcPtr)(JMSessionRef session
OSStatus JMGetVerifyMode(JMSessionRef session, JMVerifierOptions *verifierOptions)
OSStatus JMSetFrameData(JMFrameRef frame, JMClientData data)
OSStatus JMReloadApplet(JMAppletViewerRef viewer)
OSStatus JMNewAWTContext(JMAWTContextRef *context, JMSessionRef session, const JMAWTContextCallbacks *callbacks, JMClientData data)
OSStatus JMNewAppletLocator(JMAppletLocatorRef *locatorRef, JMSessionRef session, const JMAppletLocatorCallbacks *callbacks, JMTextRef url, JMTextRef htmlText, JMClientData data)
OSStatus JMGetSessionProperty(JMSessionRef session, JMTextRef propertyName, JMTextRef *propertyValue)
Boolean JMRegisterLibrary(JMSessionRef session, ConstStr63Param libraryName, CFragConnectionID connID, Boolean javaShouldClose)
Handle JMFSSToURL(JMSessionRef session, const FSSpec *spec)
void * JMClientData
Definition: JManager.h:138
JMFrameKind
Definition: JManager.h:1183
OSStatus JMResumeApplet(JMAppletViewerRef viewer)
OSStatus JMSetFrameVisibility(JMFrameRef frame, GrafPtr famePort, Point frameOrigin, RgnHandle frameClip)
OSStatus JMFrameActivate(JMFrameRef frame, Boolean activate)
OSStatus JMNewTextRef(JMSessionRef session, JMTextRef *textRef, JMTextEncoding encoding, const void *charBuffer, UInt32 bufferLengthInBytes)
FrameRect & r
Lock a handle's data area (keep it from moving)
Definition: MacMemory.h:927
Basic Macintosh data types.
unsigned char Boolean
Definition: MacTypes.h:318
Menu Manager Interfaces.
Interface to Quickdraw Graphics.
TextEncoding-related types and constants, and prototypes for related functions.
Definition: Events.h:224
Definition: Quickdraw.h:1648
Definition: JManager.h:1241
Definition: JManager.h:1523
Definition: JManager.h:1723
Definition: JManager.h:1688
Definition: JManager.h:840
Definition: JManager.h:1535
Definition: JManager.h:1542
Definition: JManager.h:712
Definition: JManager.h:183
Definition: Quickdraw.h:306
Definition: Menus.h:753
Definition: MacTypes.h:520
Definition: MacTypes.h:527