[Pocketgames-devel] SF.net SVN: pocketgames: [208] libraries/cab/src/org/pocketgames/cab/ installd
Status: Beta
Brought to you by:
idominguez
|
From: <ido...@us...> - 2008-01-12 03:47:48
|
Revision: 208
http://pocketgames.svn.sourceforge.net/pocketgames/?rev=208&view=rev
Author: idominguez
Date: 2008-01-11 19:46:18 -0800 (Fri, 11 Jan 2008)
Log Message:
-----------
Operations in the main CabHeaderPrinter calling PrinterREGKEY
Modified Paths:
--------------
libraries/cab/src/org/pocketgames/cab/installdata/backend/CabInstallDataPrinter.java
Modified: libraries/cab/src/org/pocketgames/cab/installdata/backend/CabInstallDataPrinter.java
===================================================================
--- libraries/cab/src/org/pocketgames/cab/installdata/backend/CabInstallDataPrinter.java 2008-01-12 03:45:55 UTC (rev 207)
+++ libraries/cab/src/org/pocketgames/cab/installdata/backend/CabInstallDataPrinter.java 2008-01-12 03:46:18 UTC (rev 208)
@@ -17,6 +17,7 @@
import org.pocketgames.cab.installdata.data.FILE;
import org.pocketgames.cab.installdata.data.LINK;
import org.pocketgames.cab.installdata.data.REGHIVE;
+import org.pocketgames.cab.installdata.data.REGKEY;
public class CabInstallDataPrinter
{
@@ -35,6 +36,7 @@
int numberOfFiles = this.head.files.size();
byte[] reghives = this.getRegHivesBytes();
int numberOfRegHives = this.head.reghives.size();
+ byte[] regkeys = this.getRegKeysBytes();
int numberOfRegKeys = this.head.regkeys.size();
byte[] links = this.getLinksBytes();
int numberOfLinks = this.head.links.size();
@@ -42,8 +44,8 @@
int offsetDirs = offsetStrings + strings.length;
int offsetFiles = offsetDirs + dirs.length;
int offsetRegHives = offsetFiles + files.length;
- int offsetRegKeys = offsetRegHives;
- int offsetLinks = offsetRegKeys; // + keys.length;
+ int offsetRegKeys = offsetRegHives + reghives.length;
+ int offsetLinks = offsetRegKeys + regkeys.length;
int offsetAppName = offsetLinks + links.length;
byte[] appname = this.getAppName();
int offsetProvider = offsetAppName + appname.length;
@@ -183,6 +185,21 @@
return flatten (hives, len);
}
+ private byte[] getRegKeysBytes()
+ {
+ int len = 0;
+ int i = 0;
+ // Transforms all the strings into bytes and calculates the length
+ byte[][] keys = new byte[this.head.regkeys.size()][];
+ for (REGKEY r : this.head.regkeys)
+ {
+ keys[i] = PrinterREGKEY.print (r);
+ len += keys[i++].length;
+ }
+ // Flattens the strings array, converting it into byte[]
+ return flatten (keys, len);
+ }
+
private byte[] getDirsBytes()
{
int len = 0;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|