Initial import Unix pipe class WIP
This commit is contained in:
parent
44c5230db7
commit
eac1eebc7e
|
@ -0,0 +1,94 @@
|
|||
Unit m_Pipe_Unix;
|
||||
|
||||
{$I M_OPS.PAS}
|
||||
|
||||
Interface
|
||||
|
||||
Uses
|
||||
m_DateTime,
|
||||
m_FileIO,
|
||||
m_Strings;
|
||||
|
||||
Type
|
||||
TPipeUnix = Class
|
||||
PipeID : Word;
|
||||
Connected : Boolean;
|
||||
IsClient : Boolean;
|
||||
PipeDir : String;
|
||||
|
||||
Constructor Create (Dir: String; Client: Boolean; ID: Word);
|
||||
Destructor Destroy; Override;
|
||||
// Server functions
|
||||
Function CreatePipe : Boolean;
|
||||
Function WaitForPipe (Secs: LongInt) : Boolean;
|
||||
// Client functions
|
||||
Function ConnectPipe (Secs: LongInt) : Boolean;
|
||||
// General functions
|
||||
Procedure SendToPipe (Var Buf; Len: Longint);
|
||||
Procedure ReadFromPipe (Var Buf; Len: LongInt; Var bRead: LongInt);
|
||||
Procedure Disconnect;
|
||||
End;
|
||||
|
||||
Implementation
|
||||
|
||||
Constructor TPipeUnix.Create (Dir: String; Client: Boolean; ID: Word);
|
||||
Begin
|
||||
Connected := False;
|
||||
IsClient := Client;
|
||||
PipeDir := DirSlash(Dir);
|
||||
PipeID := ID;
|
||||
End;
|
||||
|
||||
Destructor TPipeUnix.Destroy;
|
||||
Begin
|
||||
If Connected Then Disconnect;
|
||||
|
||||
Inherited Destroy;
|
||||
End;
|
||||
|
||||
Function TPipeUnix.CreatePipe : Boolean;
|
||||
Begin
|
||||
Result := False;
|
||||
IsClient := False;
|
||||
|
||||
Result := True;
|
||||
End;
|
||||
|
||||
Procedure TPipeUnix.SendToPipe (Var Buf; Len: LongInt);
|
||||
Begin
|
||||
If Not Connected Then Exit;
|
||||
End;
|
||||
|
||||
Procedure TPipeUnix.ReadFromPipe (Var Buf; Len: LongInt; Var bRead: LongInt);
|
||||
Begin
|
||||
bRead := 0;
|
||||
|
||||
If Not Connected Then Exit;
|
||||
End;
|
||||
|
||||
Function TPipeUnix.WaitForPipe (Secs: LongInt) : Boolean;
|
||||
Begin
|
||||
Result := Connected;
|
||||
|
||||
If Connected Then Exit;
|
||||
|
||||
Result := Connected;
|
||||
End;
|
||||
|
||||
Function TPipeUnix.ConnectPipe (Secs: LongInt) : Boolean;
|
||||
Begin
|
||||
Result := False;
|
||||
Connected := False;
|
||||
IsClient := True;
|
||||
|
||||
Result := Connected;
|
||||
End;
|
||||
|
||||
Procedure TPipeUnix.Disconnect;
|
||||
Begin
|
||||
If Not Connected Then Exit;
|
||||
|
||||
Connected := False;
|
||||
End;
|
||||
|
||||
End.
|
Loading…
Reference in New Issue