Maybe this:
Login/Registration Interface
Tasks:Manage a list of users
Properties:
Users:Collection of Users (best create a Collection Base class, with a
Internal array, and then subclass a user collection)
OnlineUsers: Collection of user, filter only the actual login users
(maybe this is not necesary, i show it for clarity)
UserGroups: Collection of User groups (more complex, but more flexibility)
Methods:
LoginAdmin(Password): You not want that somebody else load this object and add/delete/etc...? Necesary for security...
Login(UserId,Password,WorksStationId...):Boolean && If succes, Add to
Logout(UserId):Boolean &&If succes, remove from Online User
Events: (Implement usign Assign/Access properties or call from other methods)
OnUserLogin(loUser)
OnUserLogout(loUser)
User Interface:
Properties:
UserId
Name
WorkStationId :Maybe the name of the computer, IP address, etc...
Admin Interface:
Task: Provide administrative objects...
Properties:
LoginSystem: Point to a Login system. If you separate login of admin, a
user can be login without the admin methods/process overhead, and
is independent from it, and later you can add more, for example, not
admin only a one login system... login system form nt/2000,
Passport, Database?
Methods:
SendMessageTo(UserName/UserId,Message:String)
SendToAllUsers(Message)
ShutDown(WorkStationId)
ShutDownAll()
Note that this is only a idea and maybe is not correct. I suggest you design this in a UML editor a test in it the ideas....
The Life is Beautiful!
Programmer in
Delphi, VS.NET
MCP