Author: toad
Date: 2008-06-27 19:43:01 +0000 (Fri, 27 Jun 2008)
New Revision: 20824

Modified:
   
branches/db4o/freenet/src/freenet/client/async/USKProxyCompletionCallback.java
Log:
Activation-proof USKProxyCompletionCallback

Modified: 
branches/db4o/freenet/src/freenet/client/async/USKProxyCompletionCallback.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/client/async/USKProxyCompletionCallback.java  
    2008-06-27 17:16:56 UTC (rev 20823)
+++ 
branches/db4o/freenet/src/freenet/client/async/USKProxyCompletionCallback.java  
    2008-06-27 19:43:01 UTC (rev 20824)
@@ -14,13 +14,17 @@

        final USK usk;
        final GetCompletionCallback cb;
+       final boolean persistent;

-       public USKProxyCompletionCallback(USK usk, GetCompletionCallback cb) {
+       public USKProxyCompletionCallback(USK usk, GetCompletionCallback cb, 
boolean persistent) {
                this.usk = usk;
                this.cb = cb;
+               this.persistent = persistent;
        }

        public void onSuccess(FetchResult result, ClientGetState state, 
ObjectContainer container, ClientContext context) {
+               if(container != null && persistent)
+                       container.activate(cb, 1);
                context.uskManager.update(usk, usk.suggestedEdition, context);
                cb.onSuccess(result, state, container, context);
        }
@@ -31,10 +35,14 @@
                        uri = usk.turnMySSKIntoUSK(uri);
                        e = new FetchException(e, uri);
                }
+               if(container != null && persistent)
+                       container.activate(cb, 1);
                cb.onFailure(e, state, container, context);
        }

        public void onBlockSetFinished(ClientGetState state, ObjectContainer 
container, ClientContext context) {
+               if(container != null && persistent)
+                       container.activate(cb, 1);
                cb.onBlockSetFinished(state, container, context);
        }

@@ -43,14 +51,20 @@
        }

        public void onExpectedMIME(String mime, ObjectContainer container) {
+               if(container != null && persistent)
+                       container.activate(cb, 1);
                cb.onExpectedMIME(mime, container);
        }

        public void onExpectedSize(long size, ObjectContainer container) {
+               if(container != null && persistent)
+                       container.activate(cb, 1);
                cb.onExpectedSize(size, container);
        }

        public void onFinalizedMetadata(ObjectContainer container) {
+               if(container != null && persistent)
+                       container.activate(cb, 1);
                cb.onFinalizedMetadata(container);
        }



Reply via email to