> On Jul 2, 2014, at 3:51 PM, Zachary Turner <[email protected]> wrote:
> 
> I'm not sure why I didn't get the original email from Greg here (?)  I'm only 
> seeing this copied in Todd's response.
> 
> In any case, Windows' concept of a user id and group id is a Security 
> Identifier, as Todd mentioned (usually called a SID).  Generally though I 
> don't think it's necessary to pass around the SID, because the target can 
> figure out the SID given a username.

So sounds like a username could be used for both windows and unix then for now? 
> 
> Still, it feels a little awkward having a single class store everything that 
> might be needed for any platform.  Normally I'd expect to use polymorphic 
> types in this scenario.  A NativeProcessLinux, for example, could freely cast 
> a UserId to a PosixUserId, and a NativeWindowsProcess could cast a UserId to 
> a WindowsUserId.

The other option is to remove any --uid options and change them to "--user 
<string>" and the UserID classes for each platform that are polymorphic know 
how to translate a user entered string into a valid user name for that 
platform. So unix could accept:

--user 123

or

--user gclayton

But windows would only accept valid strings that represent a Security 
Identifier or a string based user name?

> 
> There's also the issue of command options, as I mentioned in the response to 
> Jim.  Basically, "platform process list" doesn't even need a -U option on 
> Windows.  Or maybe even a stronger statement, it shouldn't have a -U option.  
> It's easy to come up with scenarios where platforms differ significantly 
> enough that the same set of options don't even make sense, or where a certain 
> platform provides sets of functionality not available on other platforms.  
> For those cases, it would be nice for the debugger commands to be tailored to 
> that specific platform.
> 
> So maybe my first task should be to work on the command options system a 
> little bit to enable this type of abstraction.  Thoughts?

If we abstract the UserID correctly we should be able to make sure they can 
construct themselves from a string + platform object correctly and avoid having 
to do any fancy options that appear/disappear based on which platform.

Comments?

Greg
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to