Platforms to show: All Mac Windows Linux Cross-Platform
/MacOSX/Disk Arbitration/Unmount
Required plugins for this example: MBS MacOSX Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacOSX/Disk Arbitration/Unmount
This example is the version from Sat, 10th May 2013.
Project "Unmount.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
EventHandler Sub Open()
dim c as integer = VolumeCount-1
for i as integer = 0 to c
dim vol as FolderItem = volume(i)
if vol.name = "Claire6data" then
unmount vol
end if
next
End EventHandler
Sub unmount(vol as FolderItem)
if session = nil then
session = new MyDASessionMBS
end if
dim disk as DADiskMBS = DADiskMBS.CreateFromVolume(session, vol)
session.Unmount disk
End Sub
Property session As MyDASessionMBS
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
Class MyDASessionMBS Inherits DASessionMBS
EventHandler Sub Unmounted(disk as DADiskMBS, dissenter as DADissenterMBS)
dim dic as Dictionary = disk.Description
dim name as string = dic.Value(disk.kDADiskDescriptionVolumeNameKey)
if dissenter = nil then
MsgBox "Disk "+name+" unmounted."
else
MsgBox "Failed to unmount disk "+name+EndOfLine+str(dissenter.Status)+": "+dissenter.StatusString
end if
End EventHandler
End Class
End Project
See also:
The items on this page are in the following plugins: MBS MacOSX Plugin.