Package RASCAL.FilerAction

DescriptionMultitasking file operations.
Authorbbracke
Date2005/11/21 20:14:33
Revision1.1
 

Clauses

Quick access : ClausesGenericsDefinitionsSubprograms


 
Context clauses
RASCAL.OS
 
Use clauses
RASCAL.OS
 

Basic Objects

Quick access : ClausesGenericsDefinitionsSubprograms


Basic Objects
Name Type Default
VerboseFilerAction_Option_Type1
ConfirmFilerAction_Option_Type2
ForceFilerAction_Option_Type4
NewerFilerAction_Option_Type8
RecurseFilerAction_Option_Type16
Confirm_DeleteFilerAction_Option_Type32
FasterFilerAction_Option_Type64
 

Definitions

Quick access : ClausesGenericsDefinitionsSubprograms


Types
Name Declaration
Filer_Control_Action_Type(Acknowledge, Verbose_On, Verbose_Off)
FilerAction_Operation_Type(Copy, Rename, Delete, Set_Access, Set_Type, Count, Move, Copy_Local, Stamp, Find)
Message_FilerOpenDir_Pointeraccess Message_FilerOpenDir
Message_FilerCloseDir_Pointeraccess Message_FilerCloseDir
Message_FilerOpenDirAt_Pointeraccess Message_FilerOpenDirAt
Message_FilerSelectionDirectory_Pointeraccess Message_FilerSelectionDirectory
Message_FilerAddSelection_Pointeraccess Message_FilerAddSelection
Message_FilerAction_Pointeraccess Message_FilerAction
Message_FilerControlAction_Pointeraccess Message_FilerControlAction
Message_FilerSelection_Pointeraccess Message_FilerSelection
FilerAction_Option_Typeinteger
   
Message_FilerOpenDir record
This message should be broadcast to instruct the filer to open a directory.
Filing system modules use Service_StartFiler to record the Filer's task handle and hence do not use a broadcast message.
Component Type Default
NameChar_Array (1..208)
FlagInteger
FS_NumberInteger
HeaderMessage_Event_Header
   
AMEL_Message_FilerOpenDir abstract tagged record
inheritance from Message_EventListener (Message_Event_FilerOpenDir)
Component Type Default
EventMessage_FilerOpenDir_Pointer
   
Message_FilerCloseDir record
All directories starting with given name wil be closed.
Component Type Default
NameChar_Array (1..208)
FlagInteger
FS_NumberInteger
HeaderMessage_Event_Header
   
AMEL_Message_FilerCloseDir abstract tagged record
inheritance from Message_EventListener (Message_Event_FilerCloseDir)
Component Type Default
EventMessage_FilerCloseDir_Pointer
   
Message_FilerOpenDirAt record
This message is similar to Message_FilerOpenDir, but allows the position and mode of the viewer to be specified.
Component Type Default
NameChar_Array (1..200)
View_ModeInteger
HeightInteger
WidthInteger
Y_PositionInteger
X_PositionInteger
FlagInteger
FS_NumberInteger
HeaderMessage_Event_Header
   
AMEL_Message_FilerOpenDirAt abstract tagged record
inheritance from Message_EventListener (Message_Event_FilerOpenDirAt)
Component Type Default
EventMessage_FilerOpenDirAt_Pointer
   
Message_FilerSelectionDirectory record
Sending this message to a Filer_Action task sets the directory to act on, and clears the list of leafnames.
Component Type Default
NameChar_Array (1..208)
HeaderMessage_Event_Header
   
AMEL_Message_FilerSelectionDirectory abstract tagged record
inheritance from Message_EventListener (Message_Event_FilerSelectionDirectory)
Component Type Default
EventMessage_FilerSelectionDirectory_Pointer
   
Message_FilerAddSelection record
Sending this message to a Filer_Action task adds the leafnames to the task's list of leafnames to act upon.
The leafnames are for files in the directory which has already been specified with Message_FilerSelectionDirectory.

{fCode}Name_List{f} is a null terminated space seperated list of leafnames.
Component Type Default
Name_ListChar_Array (1..208)
HeaderMessage_Event_Header
   
AMEL_Message_FilerAddSelection abstract tagged record
inheritance from Message_EventListener (Message_Event_FilerAddSelection)
Component Type Default
EventMessage_FilerAddSelection_Pointer
   
Message_FilerAction record
Sending this message to a Filer_Action task both specifies and starts the operation to perform on the list of leafnames sent with Message_FilerAddSelection.
Component Type Default
DataInteger
OptionsInteger
OperationFilerAction_Operation_Type
HeaderMessage_Event_Header
   
AMEL_Message_FilerAction abstract tagged record
inheritance from Message_EventListener (Message_Event_FilerAction)
Component Type Default
EventMessage_FilerAction_Pointer
   
Message_FilerControlAction record
Sending this message to a Filer_Action task performs various controls.
'Acknowledge' can be used to see if the task is still busy.
Component Type Default
ControlFiler_Control_Action_Type
HeaderMessage_Event_Header
   
AMEL_Message_FilerControlAction abstract tagged record
inheritance from Message_EventListener (Message_Event_FilerControlAction)
Component Type Default
EventMessage_FilerControlAction_Pointer
   
Message_FilerSelection record
This message is sent from the filer to an application when a selection has been dragged, just before the application recieves the multiple DataLoad messages.
Component Type Default
end_RowInteger
End_ColumnInteger
Start_RowInteger
Start_ColumnInteger
View_ModeInteger
HeightInteger
WidthInteger
BoundingBox_Y1Integer
BoundingBox_X1Integer
BoundingBox_Y0Integer
BoundingBox_X0Integer
HeaderMessage_Event_Header
   
AMEL_Message_FilerSelection abstract tagged record
inheritance from Message_EventListener (Message_Event_FilerSelection)
Component Type Default
EventMessage_FilerSelection_Pointer
  
Pragmas
Convention(C, Message_FilerOpenDir)
Convention(C, Message_FilerCloseDir)
Convention(C, Message_FilerOpenDirAt)
Convention(C, Message_FilerSelectionDirectory)
Convention(C, Message_FilerAddSelection)
Convention(C, Message_FilerAction)
Convention(C, Message_FilerControlAction)
Convention(C, Message_FilerSelection)
 

Subprograms

Quick access : ClausesGenericsDefinitionsSubprograms


  
Set_Selection_Directory procedure
Parameter name Type Mode Default
BlockWimp_Block_Typein out
Pathstringin
  
Send_Selected_Directory procedure
This sends Message_FilerSelectionDirectory to the Filer_Action task.
Parameter name Type Mode Default
Directorystringin
Task_Handleintegerin
  
Send_Selected_File procedure
Each filename has to be separated by a single space - {/}e.g.{/} '{fCode}File1 File2 File3{f}'.
This buffers filenames until it fills a message block, at which point it sends them to the Filer_Action task using Message_FilerAddSelection.

To start the operation see FilerAction_SendStartOperation (which will first send any remaining buffered names to the task).
Parameter name Type Mode Default
Filenamestringin
Task_Handleintegerin
  
Send_Start_Operation procedure
This SWI sends any remaining leafnames with Message_FilerAddSelection, then starts the selected operation by constructing and sending Message_FilerAction.
Reason dependent data is always a pointer, even for word sized data. Usually the data is a destination pathname.
Parameter name Type Mode Default
Pathstringin
OperationFilerAction_Operation_Typein
Task_Handleintegerin
OptionsFilerAction_Option_TypeinVerbose