Hi,

Patch : Filter the hosts out of the user list for sharing.
(share list contains only users)
Please review.

Thanks
Johnny

Index: src/LinuxClient/library/iFolderUserSelector.cs
===================================================================
--- src/LinuxClient/library/iFolderUserSelector.cs      (revision 6548)
+++ src/LinuxClient/library/iFolderUserSelector.cs      (working copy)
@@ -636,11 +636,13 @@
                        memberFullNames.Clear();
                        duplicateMembers.Clear();
 
+                       int nonMemberElements = 0;
+
                        searchContext = SearchContext;
 
                        if (MemberList != null)
                        {
-                               for (int i = 0; i < MemberList.Length; i++)
+                               for (int i = 0, j=0; i < MemberList.Length; i++)
                                {
                                        MemberInfo memberInfo = MemberList[i];
 
@@ -658,7 +660,14 @@
                                        else
                                                
memberFullNames[memberInfo.FullName] = memberInfo.Name;
 
-                                       memberInfos[i] = memberInfo;
+                                       if ( memberInfo.IsHost ) 
+                                       {
+                                               nonMemberElements++;
+                                       }
+                                       else
+                                       {
+                                               memberInfos[j++] = memberInfo;
+                                       }
                                }
                        
                                if (MemberList.Length >= Total)
@@ -668,7 +677,8 @@
                                }
                        }
                        
-                       total = Total;
+                       total = Total - nonMemberElements;
+                       Console.WriteLine ("Johnny : iFolderUserSelector :  
{0}", total);
                }
                
                public void CloseSearch()
Index: src/core/WebService/Simias.asmx.cs
===================================================================
--- src/core/WebService/Simias.asmx.cs  (revision 6811)
+++ src/core/WebService/Simias.asmx.cs  (working copy)
@@ -162,7 +162,17 @@
 
 
                /// <summary>
+               /// Whether this Member object is a user object.
                /// </summary>
+               public bool     IsHost;
+
+               /// <summary>
+               /// Property tag for User object.
+               /// </summary>
+               static private readonly string HostTag = "Host";
+
+               /// <summary>
+               /// </summary>
                public MemberInfo()
                {
                }
@@ -178,6 +188,7 @@
                        this.FullName = member.FN;
                        this.AccessRights = (int) member.Rights;
                        this.IsOwner = member.IsOwner;
+                       this.IsHost = member.IsType (HostTag);
                }
        }
 
Index: src/core/WebService/Simias.wsdl
===================================================================
--- src/core/WebService/Simias.wsdl     (revision 6811)
+++ src/core/WebService/Simias.wsdl     (working copy)
@@ -68,6 +68,7 @@
           <xs:element minOccurs="0" maxOccurs="1" name="FullName" 
type="xs:string" />
           <xs:element minOccurs="1" maxOccurs="1" name="AccessRights" 
type="xs:int" />
           <xs:element minOccurs="1" maxOccurs="1" name="IsOwner" 
type="xs:boolean" />
+          <xs:element minOccurs="1" maxOccurs="1" name="IsHost" 
type="xs:boolean" />
         </xs:sequence>
       </xs:complexType>
       <xs:element name="FindFirstMembersResponse">
_______________________________________________
ifolder-dev mailing list
[email protected]
http://forge.novell.com/mailman/listinfo/ifolder-dev

Reply via email to