Implement directory object in wineserver.
Vitaliy Margolen
wine-devel at kievinfo.com
Wed Nov 23 10:38:50 CST 2005
Wednesday, November 23, 2005, 9:14:28 AM, Alexandre Julliard wrote:
> Vitaliy Margolen <wine-devel at kievinfo.com> writes:
>> void *create_named_object_dir( const struct object *rootdir,
>> const struct unicode_str *name,
>> unsigned int attr,
>> const struct object_ops *ops );
>>
>> DECL_HANDLER([open/create]_directory)
>> {
>> ...
>> get_req_unicode_str( &name );
>> if (req->rootdir) root_obj = get_handle_obj( current->process,
>> req->rootdir, 0, &directory_ops );
>> dir = create_directory( root_obj, &name, req->attributes );
>> if (root_obj) release_object( root_obj );
>> ...
>>
>> For each named object?
> Something like that yes (plus proper error handling of course). Also
> the get_handle_obj needs to be encapsulated in a get_directory_obj so
Just want to make clear for myself. You want me to add all this code to
each object's create/open instead of putting it in the one place?
> that you don't export directory_ops, and create_named_object_dir
> should take a struct directory, not a struct object.
Mm I don't want to do that because find_object_dir could and will be used
on any object. I'm planning on renaming our current find_object into
something like find_object_ns only to be used by objects with their own
namespace. And they will use it only in lookup_name.
To drop it from everywhere else I will need query_type_name added to
object_ops. So I can use create_named_object_dir on any named object.
More information about the wine-devel
mailing list