diff --git a/src/main/java/fr/ill/ics/bridge/ResourceManager.java b/src/main/java/fr/ill/ics/bridge/ResourceManager.java index 21475fbe0ea74896868a41f93fbe8a3de326cbc0..e3afcdc2708ad7229fb4a3875dec5da080faaa99 100644 --- a/src/main/java/fr/ill/ics/bridge/ResourceManager.java +++ b/src/main/java/fr/ill/ics/bridge/ResourceManager.java @@ -99,6 +99,11 @@ public class ResourceManager { public String getTree(String rootDirectory) { return ServantManagerAccessor.getInstance(serverId).getTree(rootDirectory); } + + + public void deleteFile(String fileName) { + ServantManagerAccessor.getInstance(serverId).deleteFile(fileName); + } public HashMap getFamilyImageKeys() { diff --git a/src/main/java/fr/ill/ics/nscclient/dataprovider/ServantManagerAccessor.java b/src/main/java/fr/ill/ics/nscclient/dataprovider/ServantManagerAccessor.java index 5aebe19c897700368730f5fcf6d97bb4ed35434a..44f295847dda1d02c60c51a807f667594f8fde58 100644 --- a/src/main/java/fr/ill/ics/nscclient/dataprovider/ServantManagerAccessor.java +++ b/src/main/java/fr/ill/ics/nscclient/dataprovider/ServantManagerAccessor.java @@ -1105,4 +1105,28 @@ public class ServantManagerAccessor { } return ""; } + + + public void deleteFile(String fileName) { + + // Create the message type. + ServantManagerRequest.Message type = ServantManagerRequest.Message.newBuilder() + .setType(ServantManagerRequest.Message.Type.DeleteFile) + .build(); + + // Create the request. + ServantManagerRequest.DeleteFileRequest request = ServantManagerRequest.DeleteFileRequest.newBuilder() + .setFileName(fileName) + .build(); + + servantManagerRequester.sendTwoParts(type.toByteArray(), request.toByteArray()); + + try { + Common.BooleanResponse.parseFrom(servantManagerRequester.receive()); + } + catch (InvalidProtocolBufferException e) { + LOGGER.logp(Level.WARNING, this.getClass().getName(), "deleteFile", "error in parsing response"); + } + } + } \ No newline at end of file