def __schema_descriptor(self, services):
methods_desc = {}<EOL>for service in services:<EOL><INDENT>protorpc_methods = service.all_remote_methods()<EOL>for protorpc_method_name in protorpc_methods.iterkeys():<EOL><INDENT>rosy_method = '<STR_LIT>' % (service.__name__, protorpc_method_name)<EOL>method_id = self.__id_from_name[rosy_method]<EOL>request_response = {}<EOL>request_schema_id = self.__request_schema.get(method_id)<EOL>if request_schema_id:<EOL><INDENT>request_response['<STR_LIT>'] = {<EOL>'<STR_LIT>': request_schema_id<EOL>}<EOL><DEDENT>response_schema_id = self.__response_schema.get(method_id)<EOL>if response_schema_id:<EOL><INDENT>request_response['<STR_LIT>'] = {<EOL>'<STR_LIT>': response_schema_id<EOL>}<EOL><DEDENT>methods_desc[rosy_method] = request_response<EOL><DEDENT><DEDENT>descriptor = {<EOL>'<STR_LIT>': methods_desc,<EOL>'<STR_LIT>': self.__parser.schemas(),<EOL>}<EOL>return descriptor<EOL>
Descriptor for the all the JSON Schema used.

        Args:
          services: List of protorpc.remote.Service instances implementing an
            api/version.

        Returns:
          Dictionary containing all the JSON Schema used in the service.