use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct GKLeaderboardScore;
);
extern_conformance!(
unsafe impl NSObjectProtocol for GKLeaderboardScore {}
);
impl GKLeaderboardScore {
extern_methods!(
#[cfg(all(feature = "GKBasePlayer", feature = "GKPlayer"))]
#[unsafe(method(player))]
#[unsafe(method_family = none)]
pub unsafe fn player(&self) -> Retained<GKPlayer>;
#[cfg(all(feature = "GKBasePlayer", feature = "GKPlayer"))]
#[unsafe(method(setPlayer:))]
#[unsafe(method_family = none)]
pub unsafe fn setPlayer(&self, player: &GKPlayer);
#[unsafe(method(value))]
#[unsafe(method_family = none)]
pub unsafe fn value(&self) -> NSInteger;
#[unsafe(method(setValue:))]
#[unsafe(method_family = none)]
pub unsafe fn setValue(&self, value: NSInteger);
#[unsafe(method(context))]
#[unsafe(method_family = none)]
pub unsafe fn context(&self) -> NSUInteger;
#[unsafe(method(setContext:))]
#[unsafe(method_family = none)]
pub unsafe fn setContext(&self, context: NSUInteger);
#[unsafe(method(leaderboardID))]
#[unsafe(method_family = none)]
pub unsafe fn leaderboardID(&self) -> Retained<NSString>;
#[unsafe(method(setLeaderboardID:))]
#[unsafe(method_family = none)]
pub unsafe fn setLeaderboardID(&self, leaderboard_id: &NSString);
);
}
impl GKLeaderboardScore {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}