Simias::Web::SharedCollection Class Reference

SharedCollection implements all of the APIs needed to use a Shared Collection in Simias. The APIs are designed to be wrapped by a WebService. More...

Collaboration diagram for Simias::Web::SharedCollection:

Collaboration graph
[legend]

List of all members.

Static Public Member Functions

static Collection CreateSharedCollection (string Name, string UserID, string Type)
 Creates a new collection of the type specified.
static Collection CreateSharedCollection (string Name, string Type)
 Creates a new collection of the type specified. It gets the current member and makes them the owner.
static Collection CreateLocalSharedCollection (string LocalPath, string Type)
 Creates a new collection of the type specified. It gets the current member and makes them the owner.
static Collection CreateLocalSharedCollection (string LocalPath, string DomainID, string Type)
 Creates a new collection of the type specified. It gets the current member and makes them the owner.
static Collection CreateLocalSharedCollection (string LocalPath, string DomainID, bool Ssl, string Type, string EncryptionAlgorithm, string Passphrase)
 Creates a new collection of the type specified. It gets the current member and makes them the owner.
static Collection CreateSharedCollection (string Name, string UserID, string Type, bool UnmanagedFiles, string CollectionPath)
 WebMethod that creates and SharedCollection.
static Collection CreateSharedCollection (string Name, string DomainID, string UserID, string Type, bool UnmanagedFiles, string CollectionPath)
 WebMethod that creates a SharedCollection.
static Collection CreateSharedCollection (string Name, string DomainID, string UserID, string Type, bool UnmanagedFiles, string CollectionPath, string Description, string AccessID)
 WebMethod that creates a SharedCollection.
static Collection CreateSharedCollection (string Name, string DomainID, string UserID, string Type, bool UnmanagedFiles, string CollectionPath, string Description, string AccessID, string iFolderID)
 WebMethod that creates and SharedCollection.
static Collection CreateSharedCollection (string Name, string DomainID, bool Ssl, string UserID, string Type, bool UnmanagedFiles, string CollectionPath, string Description, string EncryptionAlgorithm, string Passphrase)
 WebMethod that creates and SharedCollection.
static Collection CreateSharedCollection (string Name, string DomainID, bool Ssl, string UserID, string Type, bool UnmanagedFiles, string CollectionPath, string Description, string AccessID, string EncryptionAlgorithm, string Passphrase)
 WebMethod that creates a SharedCollection.
static bool CanBeCollection (string path)
 Checks whether it is valid to make a given directory a Collection.
static CollectionPathStatus CheckCollectionPath (string path)
 Checks whether it is valid to make a given directory a Collection.
static Uri GetUriPath (string path)
 Generates a comparable URI path.
static bool IsPathInCollection (string path)
 Checks whether a given path is within an existing Collection.
static bool IsCollection (string path)
 Checks whether a given directory is a Collection.
static Collection GetCollectionByPath (string path)
 Get a Collection by it's local path.
static void DeleteSharedCollection (string CollectionID)
 WebMethod that deletes a SharedCollection or the specified subscription and removes all subscriptions from all members. Any files that were in place if there was a DirNode will remain there.
static void DeleteSharedCollection (string CollectionID, string accessID)
 WebMethod that deletes a SharedCollection or the specified subscription and removes all subscriptions from all members. Any files that were in place if there was a DirNode will remain there.
static CollectionInfo RevertSharedCollection (string CollectionID)
 WebMethod that removes a SharedCollection from the local store but will leave the subscription intact. It will result in removing the SharedCollection from this computer but remain a member.
static void SetMemberRights (string CollectionID, string UserID, string Rights)
 WebMethod that to set the Rights of a user on a Collection.
static void SetMemberRights (string CollectionID, string UserID, string Rights, string AccessID)
 WebMethod that to set the Rights of a user on a Collection.
static void ChangeOwner (string CollectionID, string NewOwnerUserID, string OldOwnerRights)
 WebMethod that sets the owner of a Collection.
static void ChangeOwner (string CollectionID, string NewOwnerUserID, string OldOwnerRights, string AccessID)
 WebMethod that sets the owner of a Collection.
static void AddMember (string CollectionID, string UserID, string Rights, string collectionType)
 WebMethod that adds a member to a Collection granting the Rights specified. Note: This is not inviting a member, rather it is adding them and placing a subscription in the "ready" state in their POBox.
static void AddMember (string CollectionID, string UserID, string Rights, string collectionType, string AccessID)
 WebMethod that adds a member to a Collection granting the Rights specified. Note: This is not inviting a member, rather it is adding them and placing a subscription in the "ready" state in their POBox.
static void RemoveMember (string CollectionID, string UserID)
 WebMethod that removes a member from a Collection. The subscription is also removed from the member's POBox.
static void RemoveMember (string CollectionID, string UserID, string AccessID)
 WebMethod that removes a member from a Collection. The subscription is also removed from the member's POBox.
static void RemoveSubscription (string DomainID, string SubscriptionID, string UserID)
 WebMethod that removes a subscription for an iFolder.
static void CalculateSendSize (Collection collection, out uint nodeCount, out ulong maxBytesToSend)
 WebMethod that calculates the number of nodes and bytes that need to be sync'd.
static void SyncCollectionNow (string CollectionID)
 WebMethod that causes the collection of the specified ID to be sync'd immediately.


Detailed Description

SharedCollection implements all of the APIs needed to use a Shared Collection in Simias. The APIs are designed to be wrapped by a WebService.


Member Function Documentation

static Collection Simias::Web::SharedCollection::CreateSharedCollection ( string  Name,
string  UserID,
string  Type 
) [inline, static]

Creates a new collection of the type specified.

Parameters:
Name The name of the Collection to be created
UserID The UserID to be made the owner of this Collection. A subsciption will be placed in this UserID's POBox.
Type A Type value to add to the collection type. Examples would be iFolder, AB:AddressBook, etc. Leave this blank and no type will be added.
Returns:
Collection that was created

static Collection Simias::Web::SharedCollection::CreateSharedCollection ( string  Name,
string  Type 
) [inline, static]

Creates a new collection of the type specified. It gets the current member and makes them the owner.

Parameters:
Name The name of the Collection to be created
Type A Type value to add to the collection type. Examples would be iFolder, AB:AddressBook, etc. Leave this blank and no type will be added.
Returns:
Collection that was created

static Collection Simias::Web::SharedCollection::CreateLocalSharedCollection ( string  LocalPath,
string  Type 
) [inline, static]

Creates a new collection of the type specified. It gets the current member and makes them the owner.

Parameters:
LocalPath The name of the Collection to be created
Type A Type value to add to the collection type. Examples would be iFolder, AB:AddressBook, etc. Leave this blank and no type will be added.
Returns:
Collection that was created

static Collection Simias::Web::SharedCollection::CreateLocalSharedCollection ( string  LocalPath,
string  DomainID,
string  Type 
) [inline, static]

Creates a new collection of the type specified. It gets the current member and makes them the owner.

Parameters:
LocalPath The name of the Collection to be created
Type A Type value to add to the collection type. Examples would be iFolder, AB:AddressBook, etc. Leave this blank and no type will be added.
Returns:
Collection that was created

static Collection Simias::Web::SharedCollection::CreateLocalSharedCollection ( string  LocalPath,
string  DomainID,
bool  Ssl,
string  Type,
string  EncryptionAlgorithm,
string  Passphrase 
) [inline, static]

Creates a new collection of the type specified. It gets the current member and makes them the owner.

Parameters:
LocalPath The name of the Collection to be created
DomainID Domain in which collection has to be created
Ssl Whether SSL required or not
Type A Type value to add to the collection type. Examples would be iFolder, AB:AddressBook, etc. Leave this blank and no type will be added.
EncryptionAlgorithm What is the encryption alogirthm used for encryption
Passphrase With what passphrase it has to be encrypted
Returns:
Collection that was created

static Collection Simias::Web::SharedCollection::CreateSharedCollection ( string  Name,
string  UserID,
string  Type,
bool  UnmanagedFiles,
string  CollectionPath 
) [inline, static]

WebMethod that creates and SharedCollection.

Parameters:
Name The name of the SharedCollection to create. If a Path is Specified, it must match the name of the last folder in the path
UserID The UserID to be made the owner of this SharedCollection. A subsciption will be placed in this UserID's POBox.
Type A Type value to add to the collection type. Examples would be iFolder, AB:AddressBook, etc. Leave this blank and no type will be added.
CollectionPath The full path to this SharedCollection. If Path is null or "", it will be ignored. The last folder name in the path should match the name of this SharedCollection
Returns:
Collection object that was created

static Collection Simias::Web::SharedCollection::CreateSharedCollection ( string  Name,
string  DomainID,
string  UserID,
string  Type,
bool  UnmanagedFiles,
string  CollectionPath 
) [inline, static]

WebMethod that creates a SharedCollection.

Parameters:
Name The name of the SharedCollection to create. If a Path is specified, it must match the name of the last folder in the path.
DomainID The ID of the domain to create the collection in.
UserID The UserID to be made the owner of this SharedCollection. A subscription will be placed in this UserID's POBox.
Type A Type value to add to the collection type. Examples would be iFolder, AB:AddressBook, etc. Leave this blank and no type will be added.
UnmanagedFiles A value indicating if this collection contains files that are not store-managed.
CollectionPath The full path to this SharedCollection. If Path is null or "", it will be ignored. The last folder name in the path should match the name of this SharedCollection
Returns:
The Collection object that was created.

static Collection Simias::Web::SharedCollection::CreateSharedCollection ( string  Name,
string  DomainID,
string  UserID,
string  Type,
bool  UnmanagedFiles,
string  CollectionPath,
string  Description,
string  AccessID 
) [inline, static]

WebMethod that creates a SharedCollection.

Parameters:
Name The name of the SharedCollection to create. If a Path is specified, it must match the name of the last folder in the path.
DomainID The ID of the domain to create the collection in.
UserID The UserID to be made the owner of this SharedCollection. A subscription will be placed in this UserID's POBox.
Type A Type value to add to the collection type. Examples would be iFolder, AB:AddressBook, etc. Leave this blank and no type will be added.
UnmanagedFiles A value indicating if this collection contains files that are not store-managed.
CollectionPath The full path to this SharedCollection. If Path is null or "", it will be ignored. The last folder name in the path should match the name of this SharedCollection
Description The description of the SharedCollection to create.
AccessID The access ID for impersonation.
Returns:
The Collection object that was created.

static Collection Simias::Web::SharedCollection::CreateSharedCollection ( string  Name,
string  DomainID,
string  UserID,
string  Type,
bool  UnmanagedFiles,
string  CollectionPath,
string  Description,
string  AccessID,
string  iFolderID 
) [inline, static]

WebMethod that creates and SharedCollection.

Parameters:
Name The name of the SharedCollection to create. If a Path is specified, it must match the name of the last folder in the path.
DomainID The ID of the domain to create the collection in
UserID The UserID to be made the owner of this SharedCollection. A subscription will be placed in this UserID's POBox.
Type A Type value to add to the collection type. Examples would be iFolder, AB:AddressBook, etc. Leave this blank and no type will be added
UnmanagedFiles A value indicating if this collection contains files that are not store-managed
CollectionPath The full path to this SharedCollection. If Path is null or "", it will be ignored. The last folder name in the path should match the name of this SharedCollection
Description The description of the SharedCollection to create.
AccessID The access ID for impersonation.
iFolderID The iFolder ID for which shared collection belongs
Returns:
The Collection object that was created.

static Collection Simias::Web::SharedCollection::CreateSharedCollection ( string  Name,
string  DomainID,
bool  Ssl,
string  UserID,
string  Type,
bool  UnmanagedFiles,
string  CollectionPath,
string  Description,
string  EncryptionAlgorithm,
string  Passphrase 
) [inline, static]

WebMethod that creates and SharedCollection.

Parameters:
Name The name of the SharedCollection to create. If a Path is specified, it must match the name of the last folder in the path
DomainID The ID of the domain to create the collection in
Ssl Whenter SSL required or not
UserID The UserID to be made the owner of this SharedCollection. A subscription will be placed in this UserID's POBox
Type A Type value to add to the collection type. Examples would be iFolder, AB:AddressBook, etc. Leave this blank and no type will be added
UnmanagedFiles A value indicating if this collection contains files that are not store-managed
CollectionPath The full path to this SharedCollection. If Path is null or "", it will be ignored. The last folder name in the path should match the name of this SharedCollection
Description The description of the SharedCollection to create
EncryptionAlgorithm Algorithm with which encryption has to be done
Passphrase Pass phrase with which encryption will be performed
Returns:
The Collection object that was created

static Collection Simias::Web::SharedCollection::CreateSharedCollection ( string  Name,
string  DomainID,
bool  Ssl,
string  UserID,
string  Type,
bool  UnmanagedFiles,
string  CollectionPath,
string  Description,
string  AccessID,
string  EncryptionAlgorithm,
string  Passphrase 
) [inline, static]

WebMethod that creates a SharedCollection.

Parameters:
Name The name of the SharedCollection to create. If a Path is specified, it must match the name of the last folder in the path.
DomainID The ID of the domain to create the collection in.
UserID The UserID to be made the owner of this SharedCollection. A subscription will be placed in this UserID's POBox.
Type A Type value to add to the collection type. Examples would be iFolder, AB:AddressBook, etc. Leave this blank and no type will be added.
UnmanagedFiles A value indicating if this collection contains files that are not store-managed.
CollectionPath The full path to this SharedCollection. If Path is null or "", it will be ignored. The last folder name in the path should match the name of this SharedCollection
Description The description of the SharedCollection to create.
AccessID The access ID for impersonation.
Returns:
The Collection object that was created.

static bool Simias::Web::SharedCollection::CanBeCollection ( string  path  )  [inline, static]

Checks whether it is valid to make a given directory a Collection.

Parameters:
path An absolute path to check.
Returns:
True if the path can be a Collection, otherwise false

Nested Collections (iFolder) are not permitted. The path is checked to see if it is within, or contains, a Collection .

static CollectionPathStatus Simias::Web::SharedCollection::CheckCollectionPath ( string  path  )  [inline, static]

Checks whether it is valid to make a given directory a Collection.

Parameters:
path An absolute path to check.
Returns:
CollectionPathStatus that contains the path status

There are many restrictions on a collection that has unmanaged files (like an iFolder). This will check for all of those restrictions.

static Uri Simias::Web::SharedCollection::GetUriPath ( string  path  )  [inline, static]

Generates a comparable URI path.

Parameters:
path Path to build URI from
Returns:
Uri that can be compared against another Uri

static bool Simias::Web::SharedCollection::IsPathInCollection ( string  path  )  [inline, static]

Checks whether a given path is within an existing Collection.

Parameters:
path An absolute path to check.
Returns:
true if path is in a Collection; otherwise, false.

static bool Simias::Web::SharedCollection::IsCollection ( string  path  )  [inline, static]

Checks whether a given directory is a Collection.

Parameters:
path An absolute path to check.
Returns:
true if path is a Collection; otherwise, false.

static Collection Simias::Web::SharedCollection::GetCollectionByPath ( string  path  )  [inline, static]

Get a Collection by it's local path.

The rooted local path of the Collection.

Returns:
A Collection object if found

static void Simias::Web::SharedCollection::DeleteSharedCollection ( string  CollectionID  )  [inline, static]

WebMethod that deletes a SharedCollection or the specified subscription and removes all subscriptions from all members. Any files that were in place if there was a DirNode will remain there.

Parameters:
CollectionID The ID of the collection or subscription to delete

static void Simias::Web::SharedCollection::DeleteSharedCollection ( string  CollectionID,
string  accessID 
) [inline, static]

WebMethod that deletes a SharedCollection or the specified subscription and removes all subscriptions from all members. Any files that were in place if there was a DirNode will remain there.

Parameters:
CollectionID The ID of the collection or subscription to delete
accessID Access User ID

static CollectionInfo Simias::Web::SharedCollection::RevertSharedCollection ( string  CollectionID  )  [inline, static]

WebMethod that removes a SharedCollection from the local store but will leave the subscription intact. It will result in removing the SharedCollection from this computer but remain a member.

Parameters:
CollectionID The ID of the collection representing this iFolder to delete
Returns:
The subscription for this iFolder

static void Simias::Web::SharedCollection::SetMemberRights ( string  CollectionID,
string  UserID,
string  Rights 
) [inline, static]

WebMethod that to set the Rights of a user on a Collection.

Parameters:
CollectionID The ID of the collection representing the Collection to which the member is to be added
UserID The ID of the member to be added
Rights The Rights to be given to the newly added member Rights can be "Admin", "ReadOnly", or "ReadWrite"
Returns:
True if the member was successfully added

static void Simias::Web::SharedCollection::SetMemberRights ( string  CollectionID,
string  UserID,
string  Rights,
string  AccessID 
) [inline, static]

WebMethod that to set the Rights of a user on a Collection.

Parameters:
CollectionID The ID of the collection representing the Collection to which the member is to be added
UserID The ID of the member to be added
Rights The Rights to be given to the newly added member Rights can be "Admin", "ReadOnly", or "ReadWrite"
AccessID Perform the action as this user.
Returns:
True if the member was successfully added

static void Simias::Web::SharedCollection::ChangeOwner ( string  CollectionID,
string  NewOwnerUserID,
string  OldOwnerRights 
) [inline, static]

WebMethod that sets the owner of a Collection.

Parameters:
CollectionID The ID of the collection representing the iFolder to which the member is to be added
UserID The ID of the member to be added
Rights The Rights to be given to the newly added member Rights can be "Admin", "ReadOnly", or "ReadWrite"
Returns:
True if the member was successfully added

static void Simias::Web::SharedCollection::ChangeOwner ( string  CollectionID,
string  NewOwnerUserID,
string  OldOwnerRights,
string  AccessID 
) [inline, static]

WebMethod that sets the owner of a Collection.

Parameters:
CollectionID The ID of the collection representing the iFolder to which the member is to be added
UserID The ID of the member to be added
Rights The Rights to be given to the newly added member Rights can be "Admin", "ReadOnly", or "ReadWrite"
AccessID Perform the action as this user.
Returns:
True if the member was successfully added

static void Simias::Web::SharedCollection::AddMember ( string  CollectionID,
string  UserID,
string  Rights,
string  collectionType 
) [inline, static]

WebMethod that adds a member to a Collection granting the Rights specified. Note: This is not inviting a member, rather it is adding them and placing a subscription in the "ready" state in their POBox.

Parameters:
CollectionID The ID of the collection representing the Collection to which the member is to be added
UserID The ID of the member to be added
Rights The Rights to be given to the newly added member

static void Simias::Web::SharedCollection::AddMember ( string  CollectionID,
string  UserID,
string  Rights,
string  collectionType,
string  AccessID 
) [inline, static]

WebMethod that adds a member to a Collection granting the Rights specified. Note: This is not inviting a member, rather it is adding them and placing a subscription in the "ready" state in their POBox.

Parameters:
CollectionID The ID of the collection representing the Collection to which the member is to be added
UserID The ID of the member to be added
AccessID Perform the action as this user.
Rights The Rights to be given to the newly added member

static void Simias::Web::SharedCollection::RemoveMember ( string  CollectionID,
string  UserID 
) [inline, static]

WebMethod that removes a member from a Collection. The subscription is also removed from the member's POBox.

Parameters:
CollectionID The ID of the collection representing the iFolder from which the member is to be removed
UserID The ID of the member to be removed

static void Simias::Web::SharedCollection::RemoveMember ( string  CollectionID,
string  UserID,
string  AccessID 
) [inline, static]

WebMethod that removes a member from a Collection. The subscription is also removed from the member's POBox.

Parameters:
CollectionID The ID of the collection representing the iFolder from which the member is to be removed
UserID The ID of the member to be removed
AccessID Perform the action as this user.

static void Simias::Web::SharedCollection::RemoveSubscription ( string  DomainID,
string  SubscriptionID,
string  UserID 
) [inline, static]

WebMethod that removes a subscription for an iFolder.

Parameters:
DomainID The ID of the domain that the subscription belongs to.
SubscriptionID The ID of the subscription to remove.
UserID The ID of the user owning the POBox where the subscription is stored.

static void Simias::Web::SharedCollection::CalculateSendSize ( Collection  collection,
out uint  nodeCount,
out ulong  maxBytesToSend 
) [inline, static]

WebMethod that calculates the number of nodes and bytes that need to be sync'd.

Parameters:
collection The collection to calculate the sync size.
nodeCount On return, contains the number of nodes that need to be sync'd.
maxBytesToSend On return, contains the number of bytes that need to be sync'd.

static void Simias::Web::SharedCollection::SyncCollectionNow ( string  CollectionID  )  [inline, static]

WebMethod that causes the collection of the specified ID to be sync'd immediately.

Parameters:
CollectionID The ID of the collection to sync.


The documentation for this class was generated from the following file:

Generated on Wed Apr 8 14:58:07 2009 for simias by  doxygen 1.5.6