Get and store the userland team running the file system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29539 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
888b341a2e
commit
fa1b5a713c
@ -28,17 +28,19 @@ struct FileSystem::SelectSyncMap
|
||||
|
||||
// constructor
|
||||
FileSystem::FileSystem()
|
||||
: fVolumes(),
|
||||
fVolumeLock(),
|
||||
fName(),
|
||||
fNotificationPort(NULL),
|
||||
fNotificationThread(-1),
|
||||
fPortPool(),
|
||||
fSelectSyncs(NULL),
|
||||
fSettings(NULL),
|
||||
fUserlandServerTeam(-1),
|
||||
fInitialized(false),
|
||||
fTerminating(false)
|
||||
:
|
||||
fVolumes(),
|
||||
fVolumeLock(),
|
||||
fName(),
|
||||
fTeam(-1),
|
||||
fNotificationPort(NULL),
|
||||
fNotificationThread(-1),
|
||||
fPortPool(),
|
||||
fSelectSyncs(NULL),
|
||||
fSettings(NULL),
|
||||
fUserlandServerTeam(-1),
|
||||
fInitialized(false),
|
||||
fTerminating(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -67,7 +69,7 @@ FileSystem::~FileSystem()
|
||||
|
||||
// Init
|
||||
status_t
|
||||
FileSystem::Init(const char* name, Port::Info* infos, int32 count,
|
||||
FileSystem::Init(const char* name, team_id team, Port::Info* infos, int32 count,
|
||||
const FSCapabilities& capabilities)
|
||||
{
|
||||
PRINT(("FileSystem::Init(\"%s\", %p, %ld)\n", name, infos, count));
|
||||
@ -81,6 +83,7 @@ FileSystem::Init(const char* name, Port::Info* infos, int32 count,
|
||||
if (!fName.SetTo(name))
|
||||
return B_NO_MEMORY;
|
||||
|
||||
fTeam = team;
|
||||
fCapabilities = capabilities;
|
||||
|
||||
// create the select sync entry map
|
||||
|
@ -25,11 +25,12 @@ public:
|
||||
FileSystem();
|
||||
~FileSystem();
|
||||
|
||||
status_t Init(const char* name, Port::Info* infos,
|
||||
int32 infoCount,
|
||||
status_t Init(const char* name, team_id team,
|
||||
Port::Info* infos, int32 infoCount,
|
||||
const FSCapabilities& capabilities);
|
||||
|
||||
const char* GetName() const;
|
||||
team_id GetTeam() const { return fTeam; }
|
||||
|
||||
const FSCapabilities& GetCapabilities() const;
|
||||
inline bool HasCapability(uint32 capability) const;
|
||||
@ -65,6 +66,7 @@ private:
|
||||
Vector<Volume*> fVolumes;
|
||||
Locker fVolumeLock;
|
||||
String fName;
|
||||
team_id fTeam;
|
||||
FSCapabilities fCapabilities;
|
||||
RequestPort* fNotificationPort;
|
||||
thread_id fNotificationThread;
|
||||
|
@ -123,12 +123,18 @@ FileSystemInitializer::_Init(port_id port)
|
||||
RETURN_ERROR(B_BAD_DATA);
|
||||
}
|
||||
|
||||
// get the port's team
|
||||
port_info portInfo;
|
||||
status_t error = get_port_info(port, &portInfo);
|
||||
if (error != B_OK)
|
||||
RETURN_ERROR(error);
|
||||
|
||||
// create and init the FileSystem
|
||||
fFileSystem = new(std::nothrow) FileSystem;
|
||||
if (!fFileSystem)
|
||||
return B_NO_MEMORY;
|
||||
|
||||
status_t error = fFileSystem->Init(fName, info->portInfos,
|
||||
error = fFileSystem->Init(fName, portInfo.team, info->portInfos,
|
||||
info->portInfoCount, info->capabilities);
|
||||
if (error != B_OK)
|
||||
RETURN_ERROR(error);
|
||||
|
Loading…
x
Reference in New Issue
Block a user