topical media & game development

talk show tell print

#mobile-application-10-DerbyApp-build-iphone-Classes-FBConnect-FBDialog.h / h



  /*
   * Copyright 2010 Facebook
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *    http://www.apache.org/licenses/LICENSE-2.0
  
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
  */
  ifdef USE_TI_FACEBOOK
  #import <Foundation/Foundation.h>
  #import <UIKit/UIKit.h>
  
  @protocol FBDialogDelegate2;
  
  
Do not use this interface directly, instead, use dialog in Facebook.h Facebook dialog interface for start the facebook webView UIServer Dialog.

  
  
  @interface FBDialog2 : UIView <UIWebViewDelegate> {
    id<FBDialogDelegate2> _delegate;
    NSMutableDictionary *_params;
    NSString * _serverURL;
    NSURL* _loadingURL;
    UIWebView* _webView;
    UIActivityIndicatorView* _spinner;
    UIImageView* _iconView;
    UILabel* _titleLabel;
    UIButton* _closeButton;
    UIDeviceOrientation _orientation;
    BOOL _showingKeyboard;
  }
  
  
The delegate.

  
  @property(nonatomic,assign) id<FBDialogDelegate2> delegate;
  
  
The parameters.

  
  @property(nonatomic, retain) NSMutableDictionary* params;
  
  
The title that is shown in the header atop the view.

  
  @property(nonatomic,copy) NSString* title;
  
  (NSString *) getStringFromUrl: (NSString*) url needle:(NSString *) needle;
  
  (id)initWithURL: (NSString *) loadingURL 
             params: (NSMutableDictionary *) params  
           delegate: (id <FBDialogDelegate2>) delegate;
  
  
Displays the view with an animation. The view will be added to the top of the current key window.

  
  (void)show;
  
  
Displays the first page of the dialog. Do not ever call this directly. It is intended to be overriden by subclasses.

  
  (void)load;
  
  
Displays a URL in the dialog.

  
  (void)loadURL:(NSString*)url 
              get:(NSDictionary*)getParams;
  
  
Hides the view and notifies delegates of success or cancellation.

  
  (void)dismissWithSuccess:(BOOL)success animated:(BOOL)animated;
  
  
Hides the view and notifies delegates of an error.

  
  (void)dismissWithError:(NSError*)error animated:(BOOL)animated;
  
  
Subclasses may override to perform actions just prior to showing the dialog.

  
  (void)dialogWillAppear;
  
  
Subclasses may override to perform actions just after the dialog is hidden.

  
  (void)dialogWillDisappear;
  
  
Subclasses should override to process data returned from the server in a 'fbconnect' url. Implementations must call dismissWithSuccess:YES at some point to hide the dialog.

  
  (void)dialogDidSucceed:(NSURL *)url;
  
  
Subclasses should override to process data returned from the server in a 'fbconnect' url. Implementations must call dismissWithSuccess:YES at some point to hide the dialog.

  
  (void)dialogDidCancel:(NSURL *)url;
  @end
  
  
/////////////////////////////////////////////////////////////////////////////////////////////

/* *Your application should implement this delegate */ @protocol FBDialogDelegate2 <NSObject> @optional
Called when the dialog succeeds and is about to be dismissed.

  
  (void)dialogDidComplete:(FBDialog2 *)dialog;
  
  
Called when the dialog succeeds with a returning url.

  
  (void)dialogCompleteWithUrl:(NSURL *)url;
  
  
Called when the dialog get canceled by the user.

  
  (void)dialogDidNotCompleteWithUrl:(NSURL *)url;
  
  
Called when the dialog is cancelled and is about to be dismissed.

  
  (void)dialogDidNotComplete:(FBDialog2 *)dialog;
  
  
Called when dialog failed to load due to an error.

  
  (void)dialog:(FBDialog2*)dialog didFailWithError:(NSError *)error;
  
  
Asks if a link touched by a user should be opened in an external browser. If a user touches a link, the default behavior is to open the link in the Safari browser, which will cause your app to quit. You may want to prevent this from happening, open the link in your own internal browser, or perhaps warn the user that they are about to leave your app. If so, implement this method on your delegate and return NO. If you warn the user, you should hold onto the URL and once you have received their acknowledgement open the URL yourself using [[UIApplication sharedApplication] openURL:].

  
  (BOOL)dialog:(FBDialog2*)dialog shouldOpenURLInExternalBrowser:(NSURL *)url;
  
  @end
  endif


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.