unit InterfaceDataProvider; interface uses Classes, WideStrings; type IDataModel = interface ['{288CD076-8241-47A8-8C8F-A872ED2A87AC}'] procedure Install(ALoginName, ADir: WideString); stdcall; procedure Uninstall; stdcall; end; IDateProvider = interface ['{DECD129C-AE48-4F32-A9BA-6594EBD12ED9}'] procedure DestroyResult(var AObject); overload; procedure DestroyResult(AIntfaceOBject: IInterface); overload; procedure DestroyResult(var APointer: Pointer); overload; procedure Uninstall; stdcall; end; IAppNoticeDateProvider = interface(IDateProvider) ['{5F3C6EA0-7B8E-4521-A4DB-4D4C21796A79}'] end; IAppNotice = interface ['{71B349F9-1C65-4362-827E-B70E9481AFA2}'] // function GetContent: AnsiString; stdcall; // function GetID: AnsiString; stdcall; // function GetTitle: AnsiString; stdcall; // function GetURL: AnsiString; stdcall; // function GetLoginName: AnsiString; stdcall; // procedure SetLoginName(const Value: AnsiString); stdcall; // procedure SetContent(const Value: AnsiString); stdcall; // procedure SetID(const Value: AnsiString); stdcall; // procedure SetTitle(const Value: AnsiString); stdcall; // procedure SetURL(const Value: AnsiString); stdcall; end; IAppIconProvider = interface(IDateProvider) ['{1B031B2A-2DC8-491E-BA05-174311FA8215}'] procedure Insert(AAppKey: WideString; var ABuffer); stdcall; procedure FindIcon(AAppKey: WideString; var ABuffer); stdcall; end; IUser = interface ['{AD5DCFAE-366E-4EF9-956C-18A33EB2DBFD}'] function GetUID: AnsiString; stdcall; function GetLoginName: AnsiString; stdcall; function GetServerID: AnsiString; stdcall; function GetBranch: AnsiString; stdcall; function GetBranchID: AnsiString stdcall; function GetCalling: AnsiString stdcall; function GetCity: AnsiString stdcall; function GetCompany: AnsiString stdcall; function GetCountry: AnsiString stdcall; function GetDisplayName: AnsiString stdcall; function GetDuty: AnsiString stdcall; function GetEmail: AnsiString stdcall; function GetHeadImageFile: AnsiString stdcall; function GetHeadImageFileType: Integer stdcall; function GetHeadImageHashValue: AnsiString stdcall; function GetHomeAddress: AnsiString stdcall; function GetIntro: AnsiString stdcall; function GetLeaveMessage: AnsiString stdcall; function GetMobile: AnsiString stdcall; function GetPost: AnsiString stdcall; function GetProvince: AnsiString stdcall; function GetRemarkMobile: AnsiString stdcall; function GetSex: Integer stdcall; function GetShortMobile: AnsiString stdcall; function GetTel: AnsiString stdcall; function GetTrueName: AnsiString stdcall; function GetWatchword: AnsiString stdcall; procedure SetLoginName(AValue: AnsiString); stdcall; procedure SetServerID(AValue: AnsiString); stdcall; procedure SetBranch(const Value: AnsiString) stdcall; procedure SetBranchID(const Value: AnsiString) stdcall; procedure SetCalling(const Value: AnsiString) stdcall; procedure SetCity(const Value: AnsiString) stdcall; procedure SetCompany(const Value: AnsiString) stdcall; procedure SetCountry(const Value: AnsiString) stdcall; procedure SetDisplayName(const Value: AnsiString) stdcall; procedure SetDuty(const Value: AnsiString) stdcall; procedure SetEmail(const Value: AnsiString) stdcall; procedure SetHeadImageFile(const Value: AnsiString) stdcall; procedure SetHeadImageFileType(const Value: Integer) stdcall; procedure SetHeadImageHashValue(const Value: AnsiString) stdcall; procedure SetHomeAddress(const Value: AnsiString) stdcall; procedure SetIntro(const Value: AnsiString) stdcall; procedure SetLeaveMessage(const Value: AnsiString) stdcall; procedure SetMobile(const Value: AnsiString) stdcall; procedure SetPost(const Value: AnsiString) stdcall; procedure SetProvince(const Value: AnsiString) stdcall; procedure SetRemarkMobile(const Value: AnsiString) stdcall; procedure SetSex(const Value: Integer) stdcall; procedure SetShortMobile(const Value: AnsiString) stdcall; procedure SetTel(const Value: AnsiString) stdcall; procedure SetTrueName(const Value: AnsiString) stdcall; procedure SetWatchword(const Value: AnsiString) stdcall; function GetVersion: Integer stdcall; procedure SetVersion(const Value: Integer) stdcall; end; ITeamMember = interface ['{2CB50479-E1E3-49DD-9C0D-1E6974D5BCCB}'] function GetTeamID: AnsiString; stdcall; function GetUID: AnsiString; stdcall; function GetNickName: AnsiString; stdcall; function GetMemberType: Integer; stdcall; function GetCreateTime: TDateTime; stdcall; function GetUser: IUser; stdcall; procedure SetTeamID(AValue: AnsiString); stdcall; procedure SetUID(AValue: AnsiString); stdcall; procedure SetNickName(AValue: AnsiString); stdcall; procedure SetMemberType(AValue: Integer); stdcall; procedure SetCreateTime(AValue: TDateTime); stdcall; procedure SetUser(AValue: IUser); stdcall; end; /// array[0]: key /// array[1]: value /// array[2]: version TKeyValue = array [0..2] of WideString; TKeyValues = array of TKeyValue; IHashProvider = interface(IDateProvider) ['{831A91A4-988C-4DAD-911E-A968DB9CFF60}'] procedure Insert(AKey, AValue: WideString); overload; stdcall; procedure Insert(AKey, AValue: WideString; AVersion: Integer); overload; stdcall; procedure Insert(AHashs: TKeyValues); overload; stdcall; procedure Insert(AHash: TKeyValue); overload; stdcall; function Find(AKey: WideString): WideString; overload; stdcall; function FindKeyValue(AKey: WideString): TKeyValue; overload; stdcall; function FindAll: TWideStrings; stdcall; function Find(AKeys: array of WideString): TKeyValues; overload; stdcall; procedure Delete(AKey: WideString); stdcall; procedure DeleteAll; stdcall; procedure DestroyResult(AObject: TStrings); overload; end; implementation end.