예제 #1
0
        protected void DoFunctionList(HproseMethods methods)
        {
#if !(dotNET10 || dotNET11 || dotNETCF10)
            List <string> names = new List <string>(GlobalMethods.AllNames);
#else
            ArrayList names = new ArrayList(GlobalMethods.AllNames);
#endif
            if (methods != null)
            {
                names.AddRange(methods.AllNames);
            }
            Stream ostream = OutputStream;
            if (filter != null)
            {
                ostream = filter.OutputFilter(ostream);
            }
            HproseWriter writer = new HproseWriter(ostream, mode);
            ostream.WriteByte(HproseTags.TagFunctions);
#if !(dotNET10 || dotNET11 || dotNETCF10)
            writer.WriteList((IList <string>)names);
#else
            writer.WriteList((IList)names);
#endif
            ostream.WriteByte(HproseTags.TagEnd);
            ostream.Flush();
        }
예제 #2
0
        protected MemoryStream DoFunctionList(HproseMethods methods, HproseContext context)
        {
#if dotNETMF
            ArrayList names = new ArrayList();
            foreach (object name in GlobalMethods.AllNames)
            {
                names.Add(name);
            }
#elif !(dotNET10 || dotNET11 || dotNETCF10)
            List <string> names = new List <string>(GlobalMethods.AllNames);
#else
            ArrayList names = new ArrayList(GlobalMethods.AllNames);
#endif
            if (methods != null)
            {
#if dotNETMF
                foreach (object name in methods.AllNames)
                {
                    names.Add(name);
                }
#else
                names.AddRange(methods.AllNames);
#endif
            }
#if !dotNETMF
            MemoryStream data   = new MemoryStream(4096);
            HproseWriter writer = new HproseWriter(data, mode, true);
#else
            MemoryStream data   = new MemoryStream();
            HproseWriter writer = new HproseWriter(data, true);
#endif
            data.WriteByte(HproseTags.TagFunctions);
#if !(dotNET10 || dotNET11 || dotNETCF10 || dotNETMF)
            writer.WriteList((IList <string>)names);
#else
            writer.WriteList((IList)names);
#endif
            data.WriteByte(HproseTags.TagEnd);
            return(ResponseEnd(data, context));
        }
예제 #3
0
        protected void DoFunctionList(HproseMethods methods)
        {
            ArrayList names = new ArrayList(GlobalMethods.AllNames);

            if (methods != null)
            {
                names.AddRange(methods.AllNames);
            }
            Stream       ostream = OutputStream;
            HproseWriter writer  = new HproseWriter(ostream, mode);

            ostream.WriteByte(HproseTags.TagFunctions);
            writer.WriteList(names, false);
            ostream.WriteByte(HproseTags.TagEnd);
            ostream.Flush();
        }