--- oup/current/DataAccess/DataAccess.pas 2007/02/26 22:57:02 116 +++ oup/current/DataAccess/DataAccess.pas 2007/07/17 22:27:16 241 @@ -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; @@ -47,6 +49,7 @@ type function GetDatLink(FileID, DatOffset: Integer): TDatLink; virtual; abstract; function GetRawList(FileID: Integer): TRawDataList; virtual; abstract; function GetRawInfo(FileID, DatOffset: Integer): TRawDataInfo; virtual; abstract; + function GetRawsForType(RawType: String): TRawDataList; virtual; abstract; procedure LoadRawFile(FileID, DatOffset: Integer; var Target: TStream); overload; virtual; abstract; procedure LoadRawFile(FileID, DatOffset: Integer; var Target: TByteData); overload; @@ -60,7 +63,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; @@ -73,6 +76,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 @@ -276,7 +287,7 @@ begin Result := AppendRawFile(LocSep, data); data.Free; end; - +{ function TDataAccess.AppendRawFile(LocSep: Boolean; Size: Integer; Src: Pointer): Integer; var data: TStream; @@ -287,7 +298,7 @@ begin Result := AppendRawFile(LocSep, data); data.Free; end; - +} procedure TDataAccess.SetDataOS(DataOS: TDataOS);