flickr-reflection.ss
;; Flickr Reflection API.

;; Copyright (c) 2007 David Van Horn
;; Licensed under the Academic Free License version 3.0

;;  (at dvanhorn (dot cs brandeis edu))

;; This module implements flickr.reflection.{getMethods, getMethodInfo} in
;; a non-reflective manner.

(module flickr-reflection mzscheme
  (require "method.ss"
           (lib "kw.ss")
           (lib "contract.ss"))

  (current-api-key "138427ce2d97d6a2d0c4a2f045a59bfa")
  
  (define flickr.reflection.getMethods
    (lambda/kw (#:key [api_key (current-api-key)])
      (invoke-method #:method "flickr.reflection.getMethods"
                     #:api_key api_key)))
  
  (define flickr.reflection.getMethodInfo
    (lambda/kw (#:key [api_key (current-api-key)] method_name)
      (invoke-method #:method "flickr.reflection.getMethodInfo"
                     #:api_key api_key
                     #:method_name method_name)))
  
  (provide/contract 
   [flickr.reflection.getMethodInfo 
    (->* () (required-keywords #:method_name) any)]

   [flickr.reflection.getMethods
    (->* () (required-keywords) any)])

  ) ;; end of module flickr-reflection.