fix tricky regression noticed by Vyacheslav Tokarev on Google Reader.
[kdelibs.git] / khtml / java / KJAS_GRAMMAR.txt
blob5632f8de81b4b0e8d6342014cf1a6e5a8a7523b1
1 This is documentation for the updated KJAS protocol.
3 KJAS Grammar
4 ===============================================================================
6 ## Commands From KAppletWidget(C++) to KJAS(Java Process)
7 <KJAS Command>   -> <CMD Length><CMD>
8 <CMD Length>     -> <StringNum>
9 <CMD>            -> <createContext>  |
10                     <destroyContext> |
11                     <createApplet>   |
12                     <destroyApplet>  |
13                     <startApplet>    |
14                     <stopApplet>     |
15                     <initApplet>     |
16                     <showURLInFrame> |
17                     <showDocument>   |
18                     <showStatus>     |
19                     <resizeApplet>   |
20                     <getURLData>     |
21                     <URLData>        |
22                     <shutDownServer>
24 <createContext>  -> <1 byte equal to 1 when cast as int><SEP><ContextID><END>
25 <destroyContext> -> <1 byte equal to 2 when cast as int><SEP><ContextID><END>
27 <createApplet>   -> <1 byte equal to 3 when cast as int><SEP><ContextID>
28                     <SEP><AppletID><SEP><AppletName><SEP><ClassName><SEP>
29                     <BaseURL><SEP><CodeBase><SEP><Archives>
30                     <SEP><Width><SEP><Height><SEP><WindowTitle><SEP><ParamList>
31 <destroyApplet>  -> <1 byte equal to 4 when cast as int><SEP><ContextID>
32                     <SEP><AppletID><END>
33 <startApplet>    -> <1 byte equal to 5 when cast as int><SEP><ContextID>
34                     <SEP><AppletID><END>
35 <stopApplet>     -> <1 byte equal to 6 when cast as int><SEP><ContextID>
36                     <SEP><AppletID><END>
37 <initApplet>     -> <1 byte equal to 7 when cast as int><SEP><ContextID>
38                     <SEP><AppletID><END>
41 ## Commands from KJAS(Java Process) to KAppletWidget(C++)
42 <showDocument>   -> <1 byte equal to 8 when cast as int><SEP><ContextID>
43                     <SEP><URL><END>
44 <showURLInFrame> -> <1 byte equal to 9 when cast as int><SEP><ContextID>
45                     <SEP><URL><SEP><targetFrame><END>
46 <showStatus>     -> <1 byte equal to 10 when cast as int><SEP><ContextID>
47                     <SEP><string><END>
48 <resizeApplet>   -> <1 byte equal to 11 when cast as int><SEP><ContextID>
49                     <SEP><AppletID><SEP><Width><SEP><Height><END>
50 <getURLData>     -> <1 byte equal to 12 when cast as int><SEP><ClassLoaderID>
51                     <SEP><URL><END>
52 <URLData>        -> <1 byte equal to 13 when cast as int><SEP><ClassLoaderID>
53                     <SEP><URL><SEP><DATA><END>
55 <shutDownServer> -> <1 byte equal to 14 when cast as int><END>
57 ## basic data types
58 <CMD Length>     -> <StringNum>
59 <ContextID>      -> string
60 <AppletID>       -> string
61 <AppletName>     -> string
62 <ParamList>      -> <StringNum><SEP><ParamPairList>
63 <ParamPairList>  -> StringNum of ParamPair
64 <ParamPair>      -> <ParamName><SEP><ParamValue><SEP>
65 <ClassName>      -> string
66 <BaseURL>        -> <URL>
67 <CodeBase>       -> <URL>
68 <Archives>       -> string (list of jarfile names)
69 <Width>          -> string representation of integer
70 <Height>         -> string representation of integer
71 <Title>          -> string
72 <ParamName>      -> string
73 <ParamValue>     -> string
74 <Host>           -> string (must be a valid URL)
75 <URL>            -> string (must be a valid URL)
76 <targetFrame>    -> string
77 <WindowTitle>    -> string
78 <END>            -> <SEP>
79 <SEP>            -> Null character- 1 byte = 0
80 <StringNum>      -> padded string representation of integer, 8 characters long
81 <ClassLoaderID>  -> string
82 <DATA>           -> byte array