| | |
| | | // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR |
| | | // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER |
| | | // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| | | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
| | | // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." |
| | | |
| | | #import "FBSDKMacros.h" |
| | | #import "FBSDKProfilePictureView.h" |
| | | |
| | | #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 |
| | | |
| | | /** |
| | | Notification indicating that the `currentProfile` has changed. |
| | |
| | | `FBSDKProfileChangeOldKey` and |
| | | `FBSDKProfileChangeNewKey`. |
| | | */ |
| | | FBSDK_EXTERN NSString *const FBSDKProfileDidChangeNotification; |
| | | FOUNDATION_EXPORT NSNotificationName const FBSDKProfileDidChangeNotification; |
| | | |
| | | #else |
| | | |
| | | /** |
| | | Notification indicating that the `currentProfile` has changed. |
| | | |
| | | the userInfo dictionary of the notification will contain keys |
| | | `FBSDKProfileChangeOldKey` and |
| | | `FBSDKProfileChangeNewKey`. |
| | | */ |
| | | FOUNDATION_EXPORT NSString *const FBSDKProfileDidChangeNotification; |
| | | |
| | | #endif |
| | | |
| | | /* key in notification's userInfo object for getting the old profile. |
| | | |
| | | If there was no old profile, the key will not be present. |
| | | */ |
| | | FBSDK_EXTERN NSString *const FBSDKProfileChangeOldKey; |
| | | FOUNDATION_EXPORT NSString *const FBSDKProfileChangeOldKey; |
| | | |
| | | /* key in notification's userInfo object for getting the new profile. |
| | | |
| | | If there is no new profile, the key will not be present. |
| | | */ |
| | | FBSDK_EXTERN NSString *const FBSDKProfileChangeNewKey; |
| | | FOUNDATION_EXPORT NSString *const FBSDKProfileChangeNewKey; |
| | | |
| | | /** |
| | | Represents an immutable Facebook profile |
| | |
| | | */ |
| | | @interface FBSDKProfile : NSObject<NSCopying, NSSecureCoding> |
| | | |
| | | - (instancetype)init NS_UNAVAILABLE; |
| | | + (instancetype)new NS_UNAVAILABLE; |
| | | |
| | | /** |
| | | initializes a new instance. |
| | | - Parameter userID: the user ID |
| | | - Parameter firstName: the user's first name |
| | | - Parameter middleName: the user's middle name |
| | | - Parameter lastName: the user's last name |
| | | - Parameter name: the user's complete name |
| | | - Parameter linkURL: the link for this profile |
| | | - Parameter refreshDate: the optional date this profile was fetched. Defaults to [NSDate date]. |
| | | @param userID the user ID |
| | | @param firstName the user's first name |
| | | @param middleName the user's middle name |
| | | @param lastName the user's last name |
| | | @param name the user's complete name |
| | | @param linkURL the link for this profile |
| | | @param refreshDate the optional date this profile was fetched. Defaults to [NSDate date]. |
| | | */ |
| | | - (instancetype)initWithUserID:(NSString *)userID |
| | | firstName:(NSString *)firstName |
| | |
| | | /** |
| | | Sets the current instance and posts the appropriate notification if the profile parameter is different |
| | | than the receiver. |
| | | - Parameter profile: the profile to set |
| | | @param profile the profile to set |
| | | |
| | | This persists the profile to NSUserDefaults. |
| | | */ |
| | |
| | | |
| | | /** |
| | | Indicates if `currentProfile` will automatically observe `FBSDKAccessTokenDidChangeNotification` notifications |
| | | - Parameter enable: YES is observing |
| | | @param enable YES is observing |
| | | |
| | | If observing, this class will issue a graph request for public profile data when the current token's userID |
| | | differs from the current profile. You can observe `FBSDKProfileDidChangeNotification` for when the profile is updated. |
| | |
| | | |
| | | /** |
| | | Loads the current profile and passes it to the completion block. |
| | | - Parameter completion: The block to be executed once the profile is loaded |
| | | @param completion The block to be executed once the profile is loaded |
| | | |
| | | If the profile is already loaded, this method will call the completion block synchronously, otherwise it |
| | | will begin a graph request to update `currentProfile` and then call the completion block when finished. |
| | |
| | | |
| | | /** |
| | | A convenience method for returning a complete `NSURL` for retrieving the user's profile image. |
| | | - Parameter mode: The picture mode |
| | | - Parameter size: The height and width. This will be rounded to integer precision. |
| | | @param mode The picture mode |
| | | @param size The height and width. This will be rounded to integer precision. |
| | | */ |
| | | - (NSURL *)imageURLForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size; |
| | | |
| | | /** |
| | | A convenience method for returning a Graph API path for retrieving the user's profile image. |
| | | |
| | | - Warning:use `imageURLForPictureMode:size:` instead |
| | | @warning use `imageURLForPictureMode:size:` instead |
| | | |
| | | You can pass this to a `FBSDKGraphRequest` instance to download the image. |
| | | - Parameter mode: The picture mode |
| | | - Parameter size: The height and width. This will be rounded to integer precision. |
| | | @param mode The picture mode |
| | | @param size The height and width. This will be rounded to integer precision. |
| | | */ |
| | | - (NSString *)imagePathForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size |
| | | __attribute__ ((deprecated("use imageURLForPictureMode:size: instead"))); |
| | | DEPRECATED_MSG_ATTRIBUTE("use imageURLForPictureMode:size: instead"); |
| | | |
| | | /** |
| | | Returns YES if the profile is equivalent to the receiver. |
| | | - Parameter profile: the profile to compare to. |
| | | @param profile the profile to compare to. |
| | | */ |
| | | - (BOOL)isEqualToProfile:(FBSDKProfile *)profile; |
| | | @end |