| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Text;
 
- using Google.ProtocolBuffers.DescriptorProtos;
 
- namespace Google.ProtocolBuffers.Descriptors {
 
-   /// <summary>
 
-   /// Describes a service type.
 
-   /// </summary>
 
-   public class ServiceDescriptor : IndexedDescriptorBase<ServiceDescriptorProto, ServiceOptions> {
 
-     private readonly IList<MethodDescriptor> methods;
 
-     public ServiceDescriptor(ServiceDescriptorProto proto, FileDescriptor file, int index)
 
-         : base(proto, file, ComputeFullName(file, null, proto.Name), index) {
 
-       methods = DescriptorUtil.ConvertAndMakeReadOnly(proto.MethodList,
 
-         (method, i) => new MethodDescriptor(method, file, this, i));
 
-       file.DescriptorPool.AddSymbol(this);
 
-     }
 
-     /// <value>
 
-     /// An unmodifiable list of methods in this service.
 
-     /// </value>
 
-     public IList<MethodDescriptor> Methods {
 
-       get { return methods; }
 
-     }
 
-    
 
-     /// <summary>
 
-     /// Finds a method by name.
 
-     /// </summary>
 
-     /// <param name="name">The unqualified name of the method (e.g. "Foo").</param>
 
-     /// <returns>The method's decsriptor, or null if not found.</returns>
 
-     public MethodDescriptor FindMethodByName(String name) {
 
-       return File.DescriptorPool.FindSymbol<MethodDescriptor>(FullName + "." + name);
 
-     }
 
-     internal void CrossLink() {
 
-       foreach (MethodDescriptor method in methods) {
 
-         method.CrossLink();
 
-       }
 
-     }
 
-   }
 
- }
 
 
  |