unit GroupService; interface uses StrUtils, SysUtils, Windows, superobject, Classes, GroupClient, GroupModel; type TGroupService = class private FTeams: TStringList; FLoginName: string; FGroupClient: TGroupClient; public procedure Init(ALoginName: string); procedure Uninstall; class function GetService: TGroupService; static; constructor Create; destructor Destroy; override; /// /// 添加群组,或更新群组全部信心 /// /// 群组 procedure AddTeam(ATeam: TObject); /// /// 更新群组部分信息 /// /// 群组 procedure UpdateTeam(ATeam: TObject); procedure RemoveTeam(ATeamID: string); procedure OnSearched(ARecords: TStringList; ASkip, ALimit: Integer); overload; procedure OnSearched(ARecord: TSearchTeamResultRecord); overload; procedure OnAddedMembers(ATeamID: string; AMembers: TStrings); procedure OnAddedManagers(ATeamID: string; AManagers: TStrings); procedure OnDeletedMembers(ATeamID: string; AMembers: TStrings); procedure OnDeletedManagers(ATeamID: string; AManagers: TStrings); procedure OnReceivedApplyRequest(ALoginName, ATag: string); end; implementation var AGroupService: TGroupService; procedure ClearStringList(AStringList: TStringList); var AObj: TObject; begin if AStringList = nil then Exit; while AStringList.Count > 0 do begin Aobj := AStringList.Objects[0]; AStringList.Delete(0); FreeAndNil(AObj); end; end; { TGroupService } procedure TGroupService.AddTeam(ATeam: TObject); begin end; constructor TGroupService.Create; begin FTeams := TStringList.Create; FGroupClient := TGroupClient.Create; inherited; end; destructor TGroupService.Destroy; begin ClearStringList(FTeams); FreeAndNil(FGroupClient); inherited; end; class function TGroupService.GetService: TGroupService; begin if AGroupService = nil then AGroupService := TGroupService.Create; Result := AGroupService; end; procedure TGroupService.Init(ALoginName: string); begin FGroupClient.Connect(ALoginName); end; procedure TGroupService.OnAddedManagers(ATeamID: string; AManagers: TStrings); begin end; procedure TGroupService.OnAddedMembers(ATeamID: string; AMembers: TStrings); begin end; procedure TGroupService.OnDeletedManagers(ATeamID: string; AManagers: TStrings); begin end; procedure TGroupService.OnDeletedMembers(ATeamID: string; AMembers: TStrings); begin end; procedure TGroupService.OnReceivedApplyRequest(ALoginName, ATag: string); begin end; procedure TGroupService.OnSearched(ARecords: TStringList; ASkip, ALimit: Integer); begin end; procedure TGroupService.OnSearched(ARecord: TSearchTeamResultRecord); begin end; procedure TGroupService.RemoveTeam(ATeamID: string); begin end; procedure TGroupService.Uninstall; begin FGroupClient.Disconnect; end; procedure TGroupService.UpdateTeam(ATeam: TObject); begin end; end.