Ups, sorry. A small typo, of course it is "flush" command.
Best regards,
Mikhail.
Mikhail Voitenko wrote:
Hi Paolo,
The provided by you link points to a solution using Package component.
But the writing to a zip file works well using the UCB too.
The provided by you UCB-based example looks good from the first view,
except the missing "flash" command. It should be executed on the root
content of the zip file "vnd.sun.star.zip://<encoded file URL to the zip
file>/". This command triggers the storing of all the changes made to
the zip file.
Hope that helps.
Best regards,
Mikhail.
Paolo Mantovani wrote:
Hi,
I solved using the technique explained from Mikhail Voitenko in this
old post:
http://api.openoffice.org/servlets/ReadMsg?listName=dev&msgNo=13383
Thank you
Paolo Mantovani
Alle 20:26, venerdì 24 novembre 2006, Paolo Mantovani ha scritto:
Hi,
me again, about zip packages...
Thanks to help from Kai Sommerfeld I was able to read any contents
into a
zip file
Now I'm trying to *write* contents, but again :-( without any luke
Please see my test code below
Notice that if I try with a regular file URL the code works perfectly
and I
can modify or delete the file.
Any help will be appreciated
Paolo M
REM ***** BASIC *****
Sub WriteManifestTest
oSM = GetProcessServiceManager()
oUCB = oSM.createInstanceWithArguments( _
"com.sun.star.ucb.UniversalContentBroker", Array("Local","Office"))
sUrl = "file:///home/paolo/Library1.uno.pkg"
sUrl = _
"vnd.sun.star.zip://" & Join(Split(sUrl, "/"), "%2F")
& "/META-INF/manifest.xml"
'sUrl = "file:///home/paolo/manifest.xml" '<---this works
oID = oUCB.createContentIdentifier(sUrl)
oProvider = oUCB.queryContentProvider(sUrl)
oContent = oProvider.queryContent(oID)
'now write the manifest with empty data
oMySinc = CreateUnoService("com.sun.star.io.Pipe")
oWriter =
CreateUnoService("com.sun.star.packages.manifest.ManifestWriter")
oWriter.writeManifestSequence(oMySinc, array())
Dim aArg1 As New com.sun.star.ucb.InsertCommandArgument
aArg1.ReplaceExisting = True
aArg1.Data = oMySinc
UcbExecuteCommand(oContent, "insert", aArg1)
'UcbExecuteCommand(oContent, "delete", True)
End Sub
Function UcbExecuteCommand(oContent As Object, _
sCommandName As String, aArgument As Variant) As Variant
' Assemble command to execute.
Dim aCommand As New com.sun.star.ucb.Command
aCommand.Name = sCommandName
aCommand.Handle = -1 ' not available
aCommand.Argument = aArgument
' Note: throws CommandAbortedException and Exception since
' we pass null for the XCommandEnvironment parameter
UcbExecuteCommand = oContent.execute(aCommand, 0, Null)
End Function
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]