// Adapted from serve-sim commit af681b8c3b0453f31dcb8e98a3389f23b7cfc6b0 (Apache-2.0).
// Modified by cmux for native worker integration.

#import <UIKit/UIKit.h>
#include <unistd.h>

#import "SimCamFakes.h"
#import "SimCamFrameSource.h"
#import "SimCamLog.h"
#import "SimCamSwizzles.h"

__attribute__((constructor))
static void SimCamInit(void) {
    @autoreleasepool {
        simcam_log(@"loaded into pid %d", getpid());
        SimCamReadMirrorModeFromEnv();
        SimCamFrameSourceOpenShmIfRequested();
        if (!SimCamFrameSourceIsShmAttached()) SimCamFrameSourceLoadImage();
        SimCamInstallSwizzles();
        simcam_log(@"swizzles installed");
    }
}
