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.