home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 Mobile / Chip_Mobile_2001.iso / palm / system / _palmemu / palmemu.exe / Scripting / Perl / PoserRPC.pl < prev    next >
Text File  |  2000-01-27  |  6KB  |  229 lines

  1. ########################################################################
  2. #
  3. #    File:            PoserRPC.pl
  4. #
  5. #    Purpose:        Scrap file for testing Poser's RPC mechanism
  6. #
  7. #    Description:    This file contains a hodgepodge of scripts and
  8. #                    commands used to test out parts of Poser's RPC.
  9. #                    Don't take anything in this file too seriously;
  10. #                    it's provided only for completeness' sake.
  11. #
  12. ########################################################################
  13.  
  14. use EmRPC;            # EmRPC::OpenConnection, CloseConnection
  15. use EmFunctions;
  16. use EmUtils;        # Wait, TapPen, TapButton
  17.  
  18. use constant hostSignalReserved            => 0;
  19. use constant hostSignalIdle                => 1;
  20. use constant hostSignalQuit                => 2;
  21. use constant hostSignalSessionStarted    => 3;
  22. use constant hostSignalSessionStopped    => 4;
  23.  
  24. EmRPC::OpenConnection(6415, "localhost");
  25.  
  26. if (1)
  27. {
  28.     TapButtonSync("OK");
  29. }
  30.  
  31. if (0)
  32. {
  33.     Wait();
  34.     $err = HostSessionClose ("");    # Don't save
  35.     die "$err" if $err;
  36.     $err = HostSessionQuit ();
  37.     die "$err" if $err;
  38. }
  39.  
  40.  
  41. if (0)
  42. {
  43.     my ($err, $signal);
  44.  
  45.     ########################################################################
  46.     print "Waiting for idle\n";
  47.  
  48.     do {
  49.         ($err, $signal) = HostSignalWait (0x7fffffff);
  50.         if ($err)
  51.         {
  52.             HostSignalResume ();
  53.             die "Error $err while waiting for hostSignalIdle";
  54.         }
  55.     } while ($signal != hostSignalIdle);
  56.  
  57.     ########################################################################
  58.     print "Closing session\n";
  59.  
  60.     $err = HostSessionClose ("");    # Don't save
  61.  
  62.     ########################################################################
  63.     print "Waiting for session to close\n";
  64.  
  65.     do {
  66.         ($err, $signal) = HostSignalWait (0x7fffffff);
  67.         if ($err)
  68.         {
  69.             HostSignalResume ();
  70.             die "Error $err while waiting for hostSignalSessionStopped";
  71.         }
  72.     } while ($signal != hostSignalSessionStopped);
  73.  
  74.     ########################################################################
  75.     print "Creating session\n";
  76.  
  77.     $err = HostSessionCreate ("PalmIII", 1024, "C:\\ROMs\\spp\\rom30dbg.rom");
  78.  
  79.     ########################################################################
  80.     print "Waiting for session to start\n";
  81.  
  82.     do {
  83.         ($err, $signal) = HostSignalWait (0x7fffffff);
  84.         if ($err)
  85.         {
  86.             HostSignalResume ();
  87.             die "Error $err while waiting for hostSignalSessionStarted";
  88.         }
  89.     } while ($signal != hostSignalSessionStarted);
  90.  
  91.     ########################################################################
  92.     print "Closing session\n";
  93.  
  94.     $err = HostSessionClose ("");    # Don't save
  95.  
  96.     ########################################################################
  97.     print "Waiting for session to close\n";
  98.  
  99.     do {
  100.         ($err, $signal) = HostSignalWait (0x7fffffff);
  101.         if ($err)
  102.         {
  103.             HostSignalResume ();
  104.             die "Error $err while waiting for hostSignalSessionStopped";
  105.         }
  106.     } while ($signal != hostSignalSessionStopped);
  107.  
  108.     ########################################################################
  109.  
  110.     HostSignalResume ();
  111.     print "Done!\n";
  112. }
  113.  
  114. if (0)
  115. {
  116.     $addr = MemPtrNew (100);
  117.     printf ("0x%08X\n", $addr);
  118.     EmRPC::WriteBlock ($addr, "1234567890");
  119.     $str = EmRPC::ReadBlock ($addr, 10);
  120.     print $str, "\n";
  121.     MemPtrFree ($addr);
  122. }
  123.  
  124. if (0)
  125. {
  126.     TapPen (100, 100);
  127. }
  128.  
  129. if (0)
  130. {
  131.     $vers = HostGetHostVersion ();
  132.     printf ("HostGetHostVersion() = 0x%08X\n", $vers);
  133. }
  134.  
  135. if (0)
  136. {
  137.     $num = DmNumDatabases (0);
  138.     print "DmNumDatabases(0) = ", $num, "\n";
  139.  
  140.     $localID = DmFindDatabase (0, "MemoDB");
  141.     printf ("DmFindDatabase(0, \"MemoDB\") = 0x%08X\n", $localID);
  142.  
  143.     ($err, %results) = DmDatabaseInfo (0, $localID);
  144.     printf ("DmDatabaseInfo(0, 0x%08X) = 0x%08X\n", $localID, $err);
  145.     print ("results: \n");
  146.     print ("\tname = ", $results{name}, "\n");
  147.     print ("\tattributes = ", $results{attributes}, "\n");
  148.     print ("\tversion = ", $results{version}, "\n");
  149.     print ("\tcrDate = ", $results{crDate}, "\n");
  150.     print ("\tmodDate = ", $results{modDate}, "\n");
  151.     print ("\tbckUpDate = ", $results{bckUpDate}, "\n");
  152.     print ("\tmodNum = ", $results{modNum}, "\n");
  153.     print ("\tappInfoID = ", $results{appInfoID}, "\n");
  154.     print ("\tsortInfoID = ", $results{sortInfoID}, "\n");
  155.     print ("\ttype = ", $results{type}, "\n");
  156.     print ("\tcreator = ", $results{creator}, "\n");
  157. }
  158.  
  159. if (0)
  160. {
  161.     $block = EmRPC::ReadBlock (0, 256);
  162.     EmRPC::PrintString ($block);
  163. }
  164.  
  165. if (0)
  166. {
  167.     my ($form) = FrmGetActiveForm();
  168.     my ($num_objects) = FrmGetNumberOfObjects($form);
  169.  
  170.     for $ii (0..$num_objects - 1)
  171.     {
  172.         my ($line) = "$ii. ";
  173.         my ($object_type) = FrmGetObjectType($form, $ii);
  174.  
  175.         my ($type) = ("frmFieldObj", "frmControlObj", "frmListObj", "frmTableObj",
  176.                       "frmBitmapObj", "frmLineObj", "frmFrameObj", "frmRectangleObj",
  177.                       "frmLabelObj", "frmTitleObj", "frmPopupObj", "frmGraffitiStateObj",
  178.                       "frmGadgetObj", "frmScrollBarObj")[$object_type];
  179.  
  180.         $line .= " $type";
  181.  
  182.         if ($object_type == frmControlObj)
  183.         {
  184.             my ($obj_ptr) = FrmGetObjectPtr ($form, $ii);
  185.             my ($address, $label) = CtlGetLabel($obj_ptr);
  186.             $line .= " \"$label\"";
  187.         }
  188.         elsif ($object_type == frmLabelObj)
  189.         {
  190.             my ($label_id) = FrmGetObjectId ($form, $ii);
  191.             my ($address, $label) = FrmGetLabel($form, $label_id);
  192.             $line .= " \"$label\"";
  193.         }
  194.         elsif ($object_type == frmTitleObj)
  195.         {
  196.             my ($address, $title) = FrmGetTitle($form,);
  197.             $line .= " \"$title\"";
  198.         }
  199.         else
  200.         {
  201.             $line .= " <no label>";
  202.         }
  203.  
  204.         my (%bounds) = FrmGetObjectBounds($form, $ii);
  205.         $line .= " ($bounds{left}, $bounds{top}, $bounds{right}, $bounds{bottom})";
  206.  
  207.         print "$line\n";
  208.     }
  209. }
  210.  
  211. if (0)
  212. {
  213.     $err = HostSessionClose ("");
  214.     printf ("HostSessionClose() = 0x%08X\n", $err);
  215.  
  216.     $err = HostSessionQuit ();
  217.     printf ("HostSessionQuit() = 0x%08X\n", $err);
  218. }
  219.  
  220. if (0)
  221. {
  222.     HostGremlinNew (0, 3, 0, -1, 10000, "Memo Pad") == 0 || die "HostGremlinNew failed, stopped";
  223. }
  224.  
  225. EmRPC::CloseConnection();
  226.  
  227.  
  228.  
  229.