code: def validateBusName(n):
      
      try:
          if '.' not in n:
              raise Exception('At least two components required')
          if '..' in n:
              raise Exception('".." not allowed in bus names')
          if len(n) > 255:
              raise Exception('Name exceeds maximum length of 255')
          if n[0] == '.':
              raise Exception('Names may not begin with a "."')
          if n[0].isdigit():
              raise Exception('Names may not begin with a digit')
          if bus_re.search(n):
              raise Exception(
                  'Names contains a character outside the set [A-Za-z0-9_.\\-:]')
          if not n[0] == ':' and dot_digit_re.search(n):
              raise Exception(
                  'No coponents of an interface name may begin with a digit')
      except Exception as e:
          raise MarshallingError('Invalid bus name "%s": %s' % (n, str(e)))
docs: Verifies that the supplied name is a valid DBus Bus name. Throws
      an L{error.MarshallingError} if the format is invalid
  
      @type n: C{string}
      @param n: A DBus bus name