--- oup/current/DataAccess/DataAccess.pas 2007/02/21 03:12:33 109 +++ oup/current/DataAccess/DataAccess.pas 2007/06/20 10:57:51 229 @@ -1,7 +1,7 @@ unit DataAccess; interface -uses TypeDefs, Classes, StrUtils, SysUtils; +uses TypeDefs, Classes, StrUtils, SysUtils, _MetaManager; type TDataAccess = class @@ -13,6 +13,7 @@ type FDataOS: TDataOS; FLevelNumber: Integer; FChangeRights: TChangeRights; + FMeta: TMetaManager; procedure SetDataOS(DataOS: TDataOS); public property ConnectionID: Integer read FConnectionID; @@ -21,8 +22,9 @@ type property DataOS: TDataOS read FDataOS write SetDataOS; property LevelNumber: Integer read FLevelNumber; property ChangeRights: TChangeRights read FChangeRights; + property MetaData: TMetaManager read FMeta; - constructor Create(FileName: String; ConnectionID: Integer; var Msg: TStatusMessages); virtual; abstract; + constructor Create(FileName: String; ConnectionID: Integer; var Msg: TStatusMessages); virtual; procedure Close; virtual; abstract; function ExtractFileIDOfName(Name: String): Integer; virtual; @@ -43,6 +45,8 @@ type procedure UpdateDatFilePart(FileID, Offset, Size: Integer; Src: TStream); overload; virtual; abstract; procedure UpdateDatFilePart(FileID, Offset, Size: Integer; Src: Pointer); overload; + function GetDatLinks(FileID: Integer): TDatLinkList; virtual; abstract; + function GetDatLink(FileID, DatOffset: Integer): TDatLink; virtual; abstract; function GetRawList(FileID: Integer): TRawDataList; virtual; abstract; function GetRawInfo(FileID, DatOffset: Integer): TRawDataInfo; virtual; abstract; @@ -58,7 +62,7 @@ type function AppendRawFile(LocSep: Boolean; Src: TStream): Integer; overload; virtual; function AppendRawFile(LocSep: Boolean; Src: TByteData): Integer; overload; - function AppendRawFile(LocSep: Boolean; Size: Integer; Src: Pointer): Integer; overload; +// function AppendRawFile(LocSep: Boolean; Size: Integer; Src: Pointer): Integer; overload; published end; @@ -71,6 +75,14 @@ implementation Implementation of TDataAccess *) +constructor TDataAccess.Create(FileName: String; ConnectionID: Integer; + var Msg: TStatusMessages); +begin + FMeta := TMetaManager.Create(FConnectionID, Self); +end; + + + function TDataAccess.ExtractFileIDOfName(Name: String): Integer; begin if Name[5] = '-' then @@ -271,10 +283,10 @@ begin data := TMemoryStream.Create; data.Write(Src[0], Length(Src)); data.Seek(0, soFromBeginning); - AppendRawFile(LocSep, data); + Result := AppendRawFile(LocSep, data); data.Free; end; - +{ function TDataAccess.AppendRawFile(LocSep: Boolean; Size: Integer; Src: Pointer): Integer; var data: TStream; @@ -282,10 +294,10 @@ begin data := TMemoryStream.Create; data.Write(Src^, Size); data.Seek(0, soFromBeginning); - AppendRawFile(LocSep, data); + Result := AppendRawFile(LocSep, data); data.Free; end; - +} procedure TDataAccess.SetDataOS(DataOS: TDataOS);