您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CFStringCreateExternalRepresentation函数代码示例

51自学网 2021-06-01 19:59:15
  C++
这篇教程C++ CFStringCreateExternalRepresentation函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CFStringCreateExternalRepresentation函数的典型用法代码示例。如果您正苦于以下问题:C++ CFStringCreateExternalRepresentation函数的具体用法?C++ CFStringCreateExternalRepresentation怎么用?C++ CFStringCreateExternalRepresentation使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CFStringCreateExternalRepresentation函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: configWrite

/* * Writes a new configuration file with the contents of a CFArrayRef. Each * element of the array is a CFStringRef. */voidconfigWrite(const char *path, CFArrayRef config){	CFStringRef	str;	CFDataRef	data;	int		fd = -1;	int		len;	str  = CFStringCreateByCombiningStrings(NULL, config, CFSTR("/n"));	data = CFStringCreateExternalRepresentation(NULL, str, kCFStringEncodingMacRoman, '.');	CFRelease(str);	fd = open(path, O_WRONLY|O_CREAT|O_TRUNC, 0644);	if (fd < 0) {		goto done;	}	len = CFDataGetLength(data);	if (len) {		(void)write(fd, CFDataGetBytePtr(data), len);	}    done:	if (fd >= 0)		close(fd);	CFRelease(data);	return;}
开发者ID:unofficial-opensource-apple,项目名称:configd_plugins,代码行数:33,


示例2: impExpImportDeleteExtension

/* do a [NSString stringByDeletingPathExtension] equivalent */CFStringRef impExpImportDeleteExtension(	CFStringRef			fileStr){	CFDataRef fileStrData = CFStringCreateExternalRepresentation(NULL, fileStr,		kCFStringEncodingUTF8, 0);	if(fileStrData == NULL) {		return NULL;	}	CFURLRef urlRef = CFURLCreateFromFileSystemRepresentation(NULL,		CFDataGetBytePtr(fileStrData), CFDataGetLength(fileStrData), false);	if(urlRef == NULL) {		CFRelease(fileStrData);		return NULL;	}	CFURLRef rtnUrl = CFURLCreateCopyDeletingPathExtension(NULL, urlRef);	CFStringRef rtnStr = NULL;	CFRelease(urlRef);	if(rtnUrl) {		rtnStr = CFURLGetString(rtnUrl);		CFRetain(rtnStr);		CFRelease(rtnUrl);	}	CFRelease(fileStrData);	return rtnStr;}
开发者ID:unofficial-opensource-apple,项目名称:Security,代码行数:27,


示例3: CFStringCreateExternalRepresentation

std::wstring MacUtils::CFStringRefToWString(CFStringRef aString){    if (aString == NULL) {        return L"";    }        if (!aString)        return false;    CFDataRef cfData = CFStringCreateExternalRepresentation(kCFAllocatorDefault,                                                            aString, kCFStringEncodingUTF32, 0);    CFRelease(aString);    if (!cfData)        return false;    int out_byte_len = CFDataGetLength(cfData);    out_byte_len -= sizeof(wchar_t); // don't count the 32 bit BOM char at start    int out_len = out_byte_len / sizeof(wchar_t);    wchar_t *tmp = new wchar_t[out_len + 1];    // start after the BOM, hence sizeof(wchar_t)    CFDataGetBytes(cfData, CFRangeMake(sizeof(wchar_t), out_byte_len),                   (UInt8*)tmp);    CFRelease(cfData);    tmp[out_len] = 0;    std::wstring result = tmp;    delete[] tmp;        return result;}
开发者ID:cristiantm,项目名称:webcrypto-key-certificate-discovery-js,代码行数:27,


示例4: __JSONParseWithString

inline bool __JSONParseWithString(__JSONRef json, CFStringRef string, CFErrorRef *error) {  bool success = 1;  json->yajlParser = yajl_alloc(&json->yajlParserCallbacks, &json->yajlAllocFuncs, (void *)json);  if (json->yajlParser) {//  yajl_config(json->yajlParser, yajl_allow_comments, kJSONReadOptionAllowComments | options ? 1 : 0);//  yajl_config(json->yajlParser, yajl_dont_validate_strings, kJSONReadOptionCheckUTF8 | options ? 1 : 0);      CFDataRef data = CFStringCreateExternalRepresentation(json->allocator, string, kCFStringEncodingUTF8, 0);    if (data) {      if ((json->yajlParserStatus = yajl_parse(json->yajlParser, CFDataGetBytePtr(data), CFDataGetLength(data))) != yajl_status_ok) {        if (error) {          success = 0;                    unsigned char * str = yajl_get_error(json->yajlParser, 1, CFDataGetBytePtr(data), CFDataGetLength(data));          fprintf(stderr, "%s", (const char *) str);          yajl_free_error(json->yajlParser, str);                    *error = CFErrorCreateWithUserInfoKeysAndValues(json->allocator, CFSTR("com.github.mirek.CoreJSON"), (CFIndex)json->yajlParserStatus, (const void *) { kCFErrorDescriptionKey }, (const void *) { CFSTR("Test") }, 1);        }        // TODO: Error stuff        //printf("ERROR: %s/n", yajl_get_error(json->yajlParser, 1, __JSONUTF8StringGetBuffer(utf8), __JSONUTF8StringGetMaximumSize(utf8)));      }          json->yajlParserStatus = yajl_complete_parse(json->yajlParser);      CFRelease(data);    } else {
开发者ID:childhood,项目名称:CoreJSON,代码行数:26,


示例5: IPCCallback

static CFDataRef IPCCallback(__unused CFMessagePortRef port, SInt32 messageID, __unused CFDataRef data, __unused void *info){	switch(messageID)	{		case ServerCommandGetIP:		{			if(publicIPState == IPStateInvalid)			{				SCNetworkReachabilityFlags flags;				SCNetworkReachabilityGetFlags(reachability, &flags);				ReachabilityCallback(reachability, flags, NULL);			}			if(publicIPData)				return publicIPData;			return CFStringCreateExternalRepresentation(kCFAllocatorDefault, CFSTR(""), kCFStringEncodingUTF8, 0);		}		case ServerCommandStop:		{			CFRunLoopStop(CFRunLoopGetMain());			return NULL;		}		case ServerCommandReload:		{			FetchIPAddress();			return NULL;		}		default:			return NULL;	}}
开发者ID:JustSid,项目名称:extip,代码行数:34,


示例6: encryptString

static CFDataRefencryptString(SecKeyRef wrapKey, CFDataRef iv, CFStringRef str){	CFDataRef retval = NULL; 	CFErrorRef error = NULL;    CFDataRef inputString = CFStringCreateExternalRepresentation(kCFAllocatorDefault, str, kCFStringEncodingMacRoman, 0xff); 	SecTransformRef encryptTrans = SecEncryptTransformCreate(wrapKey, &error);    if(error == NULL) {		SecTransformRef group = SecTransformCreateGroupTransform();		        SecTransformSetAttribute(encryptTrans, kSecEncryptionMode, kSecModeCBCKey, &error);        if(error == NULL) SecTransformSetAttribute(encryptTrans, kSecPaddingKey, kSecPaddingPKCS7Key, &error);        if(error == NULL) SecTransformSetAttribute(encryptTrans, kSecTransformInputAttributeName, inputString, &error);        if(error == NULL) SecTransformSetAttribute(encryptTrans, kSecIVKey, iv, &error);		SecTransformRef encodeTrans = SecEncodeTransformCreate(kSecBase64Encoding, &error);		SecTransformConnectTransforms(encryptTrans, kSecTransformOutputAttributeName, encodeTrans, kSecTransformInputAttributeName, group, &error);		CFRelease(encodeTrans);  		CFRelease(encryptTrans);		if(error == NULL) retval = SecTransformExecute(group, &error);        if(error != NULL) secDebug(ASL_LEVEL_ERR, "Failed to encrypt recovery password/n", NULL);        CFRelease(group);    }    return retval;}
开发者ID:unofficial-opensource-apple,项目名称:Security,代码行数:25,


示例7: main

int main (int argc, const char * argv[]) {    	if (argv[1] != NULL)	{		CFDataRef data;		CFStringRef searchterm = CFStringCreateWithCString(NULL, argv[1],														   kCFStringEncodingMacRoman);		CFRange searchRange = CFRangeMake(0, CFStringGetLength(searchterm));		CFStringRef dictResult = DCSCopyTextDefinition(NULL, searchterm, searchRange);		CFRelease(searchterm);		if (dictResult != NULL) {			data = CFStringCreateExternalRepresentation(NULL, dictResult, CFStringGetSystemEncoding(), '?');			CFRelease(dictResult);		}		if (data != NULL) {			printf ("%.*s/n/n", (int)CFDataGetLength(data), CFDataGetBytePtr(data));			CFRelease(data);		}		else {			printf("Could not find word in Dictionary.app./n");		}		return 0;	}	else {		printf("Usage: dictlookup /"word/"/n");		return 1;	}}
开发者ID:davidhaselb,项目名称:dictlookup,代码行数:32,


示例8: impExpAddStringAttr

/** Add a CFString to a crypto context handle.*/static CSSM_RETURN impExpAddStringAttr(	CSSM_CC_HANDLE ccHand,	CFStringRef str,	CSSM_ATTRIBUTE_TYPE attrType){	/* CFStrings are passed as external rep in UTF8 encoding by convention */	CFDataRef outData;	outData = CFStringCreateExternalRepresentation(NULL,		str, kCFStringEncodingUTF8,	0);		// lossByte 0 ==> no loss allowed	if(outData == NULL) {		SecImpExpDbg("impExpAddStringAttr: bad string format");		return errSecParam;	}	CSSM_DATA attrData;	attrData.Data = (uint8 *)CFDataGetBytePtr(outData);	attrData.Length = CFDataGetLength(outData);	CSSM_RETURN crtn = impExpAddContextAttribute(ccHand, attrType, sizeof(CSSM_DATA),		&attrData);	CFRelease(outData);	if(crtn) {		SecImpExpDbg("impExpAddStringAttr: CSSM_UpdateContextAttributes error");	}	return crtn;}
开发者ID:unofficial-opensource-apple,项目名称:Security,代码行数:28,


示例9: _SQLite3StatementCreate

inline SQLite3StatementRef _SQLite3StatementCreate(CFAllocatorRef allocator, SQLite3ConnectionRef connection, CFStringRef sql, CFErrorRef *error) {  SQLite3StatementRef statement = NULL;  if (connection && sql) {    statement = CFAllocatorAllocate(allocator, sizeof(__SQLite3Statement), 0);    if (statement) {      statement->connection = SQLite3ConnectionRetain(connection);   // Let's retain connection      statement->allocator = allocator ? CFRetain(allocator) : NULL; // ...and allocator if not null      statement->retainCount = 1;      statement->stmt = NULL;      CFDataRef sqlData = CFStringCreateExternalRepresentation(statement->allocator, sql, kCFStringEncodingUTF8, 0);      if (sqlData) {        SQLite3Status status = sqlite3_prepare_v2(connection->db, (const char *)CFDataGetBytePtr(sqlData), -1, &statement->stmt, NULL);        if (kSQLite3StatusOK != status) {          if (error) {            *error = CFErrorCreate(allocator, CFSTR("com.github.mirek.SQLite3"), status, NULL);          }          printf("ERROR: %s/n", sqlite3_errmsg(connection->db));          statement = SQLite3StatementRelease(statement); // ...will be set to NULL        }        CFRelease(sqlData);      }    }  }  return statement;}
开发者ID:neostoic,项目名称:CoreSQLite3,代码行数:25,


示例10: iSCSIDaemonSetSharedSecret

/*! Sets or updates a shared secret. *  @param handle a handle to a daemon connection. *  @param authorization an authorization for the right kiSCSIAuthModifyRights. *  @param nodeIQN the node iSCSI qualified name. *  @param sharedSecret the secret to set. *  @return an error code indicating whether the operating was successful. */errno_t iSCSIDaemonSetSharedSecret(iSCSIDaemonHandle handle,                                   AuthorizationRef authorization,                                   CFStringRef nodeIQN,                                   CFStringRef sharedSecret){    // Validate inputs    if(handle < 0 || !authorization || !nodeIQN || !sharedSecret)        return EINVAL;        AuthorizationExternalForm authExtForm;    AuthorizationMakeExternalForm(authorization,&authExtForm);        CFDataRef authData = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,                                                     (UInt8*)&authExtForm.bytes,                                                     kAuthorizationExternalFormLength,                                                     kCFAllocatorDefault);        CFDataRef nodeIQNData = CFStringCreateExternalRepresentation(kCFAllocatorDefault,nodeIQN,kCFStringEncodingASCII,0);    CFDataRef sharedSecretData = CFStringCreateExternalRepresentation(kCFAllocatorDefault,sharedSecret,kCFStringEncodingASCII,0);        iSCSIDMsgSetSharedSecretCmd cmd = iSCSIDMsgSetSharedSecretCmdInit;    cmd.authorizationLength = (UInt32)CFDataGetLength(authData);    cmd.nodeIQNLength = (UInt32)CFDataGetLength(nodeIQNData);    cmd.secretLength = (UInt32)CFDataGetLength(sharedSecretData);        errno_t error = iSCSIDaemonSendMsg(handle,(iSCSIDMsgGeneric *)&cmd,                                       authData,nodeIQNData,sharedSecretData,NULL);        if(nodeIQNData)        CFRelease(nodeIQNData);        if(sharedSecretData)        CFRelease(sharedSecretData);    if(error)        return error;        iSCSIDMsgSetSharedSecretRsp rsp;        if(recv(handle,&rsp,sizeof(rsp),0) != sizeof(rsp))        return EIO;        if(rsp.funcCode != kiSCSIDSetSharedSecret)        return EIO;    return rsp.errorCode;}
开发者ID:jeditekunum,项目名称:iSCSIInitiator,代码行数:53,


示例11: stringGettingContentsAsCStringExample

void stringGettingContentsAsCStringExample(void) {    CFStringRef str;    CFDataRef data;    CFRange rangeToProcess;    const char *bytes;    show(CFSTR("------------------C String Manipulations---------------"));    // Create some test CFString    // Note that in general the string might contain Unicode characters which cannot    // be converted to a 8-bit character encoding    str = CFStringCreateWithCString(NULL, "Hello World", kCFStringEncodingASCII);    show(CFSTR("Original String : %@"), str);       // First, the fast but unpredictable way to get at the C String contents...    // This is O(1), meaning it takes constant time.    // This might return NULL!    bytes = CFStringGetCStringPtr(str, kCFStringEncodingASCII);       // If that fails, you can try to get the contents by copying it out    if (bytes == NULL) {        char localBuffer[10];        Boolean success;        // This might also fail, either if you provide a buffer that is too small,         // or the string cannot be converted into the specified encoding        success = CFStringGetCString(str, localBuffer, 10, kCFStringEncodingASCII);    }    else        show(CFSTR("From CStringPtr : %@"), bytes);           // A pretty simple solution is to use a CFData; this frees you from guessing at the buffer size    // But it does allocate a CFData...    data = CFStringCreateExternalRepresentation(NULL, str, kCFStringEncodingASCII, 0);    if (data) {        show(CFSTR("External Rep: %@"), data);           bytes = (const char *)CFDataGetBytePtr(data);    }    // More complicated but efficient solution is to use a fixed size buffer, and put a loop in    rangeToProcess = CFRangeMake(0, CFStringGetLength(str));    while (rangeToProcess.length > 0) {        UInt8 localBuffer[100];        CFIndex usedBufferLength;        CFIndex numChars = CFStringGetBytes(str, rangeToProcess, kCFStringEncodingASCII, 0, FALSE, (UInt8 *)localBuffer, 100, &usedBufferLength);        if (numChars == 0) break;	// Means we failed to convert anything...        // Otherwise we converted some stuff; process localBuffer containing usedBufferLength bytes        // Note that the bytes in localBuffer are not NULL terminated		        // Update the remaining range to continue looping        rangeToProcess.location += numChars;        rangeToProcess.length -= numChars;    }}
开发者ID:edconnor,项目名称:TestCairo,代码行数:59,


示例12: TLProjectionGeoidCreateDataRepresentation

CFDataRef TLProjectionGeoidCreateDataRepresentation(TLProjectionGeoidRef projGeoid) {	CFStringRef ellipseValue = TLProjectionGeoidCreateEllipseValue(projGeoid);	CFStringRef geoidArgs = TLProjectionParametersCreateStringWithKeyAndValue(TLProjectionParametersEllipseNameKey, ellipseValue);	CFRelease(ellipseValue);	CFDataRef geoidAsData = CFStringCreateExternalRepresentation(kCFAllocatorDefault, geoidArgs, kCFStringEncodingASCII, 0);	CFRelease(geoidArgs);	return geoidAsData;}
开发者ID:Web5design,项目名称:Geotagalog,代码行数:8,


示例13: write_gdb_prep_cmds

void write_gdb_prep_cmds(AMDeviceRef device, CFURLRef disk_app_url) {    CFMutableStringRef cmds = CFStringCreateMutableCopy(NULL, 0, GDB_PREP_CMDS);    CFRange range = { 0, CFStringGetLength(cmds) };    CFStringRef ds_path = copy_device_support_path(device);    CFStringFindAndReplace(cmds, CFSTR("{ds_path}"), ds_path, range, 0);    range.length = CFStringGetLength(cmds);    if (args) {        CFStringRef cf_args = CFStringCreateWithCString(NULL, args, kCFStringEncodingASCII);        CFStringFindAndReplace(cmds, CFSTR("{args}"), cf_args, range, 0);        CFRelease(cf_args);    } else {        CFStringFindAndReplace(cmds, CFSTR(" {args}"), CFSTR(""), range, 0);    }    range.length = CFStringGetLength(cmds);    CFStringRef bundle_identifier = copy_disk_app_identifier(disk_app_url);    CFURLRef device_app_url = copy_device_app_url(device, bundle_identifier);    CFStringRef device_app_path = CFURLCopyFileSystemPath(device_app_url, kCFURLPOSIXPathStyle);    CFStringFindAndReplace(cmds, CFSTR("{device_app}"), device_app_path, range, 0);    range.length = CFStringGetLength(cmds);    CFStringRef disk_app_path = CFURLCopyFileSystemPath(disk_app_url, kCFURLPOSIXPathStyle);    CFStringFindAndReplace(cmds, CFSTR("{disk_app}"), disk_app_path, range, 0);    range.length = CFStringGetLength(cmds);    CFURLRef device_container_url = CFURLCreateCopyDeletingLastPathComponent(NULL, device_app_url);    CFStringRef device_container_path = CFURLCopyFileSystemPath(device_container_url, kCFURLPOSIXPathStyle);    CFMutableStringRef dcp_noprivate = CFStringCreateMutableCopy(NULL, 0, device_container_path);    range.length = CFStringGetLength(dcp_noprivate);    CFStringFindAndReplace(dcp_noprivate, CFSTR("/private/var/"), CFSTR("/var/"), range, 0);    range.length = CFStringGetLength(cmds);    CFStringFindAndReplace(cmds, CFSTR("{device_container}"), dcp_noprivate, range, 0);    range.length = CFStringGetLength(cmds);    CFURLRef disk_container_url = CFURLCreateCopyDeletingLastPathComponent(NULL, disk_app_url);    CFStringRef disk_container_path = CFURLCopyFileSystemPath(disk_container_url, kCFURLPOSIXPathStyle);    CFStringFindAndReplace(cmds, CFSTR("{disk_container}"), disk_container_path, range, 0);    CFDataRef cmds_data = CFStringCreateExternalRepresentation(NULL, cmds, kCFStringEncodingASCII, 0);    FILE *out = fopen(PREP_CMDS_PATH, "w");    fwrite(CFDataGetBytePtr(cmds_data), CFDataGetLength(cmds_data), 1, out);    fclose(out);    CFRelease(cmds);    if (ds_path != NULL) CFRelease(ds_path);    CFRelease(bundle_identifier);    CFRelease(device_app_url);    CFRelease(device_app_path);    CFRelease(disk_app_path);    CFRelease(device_container_url);    CFRelease(device_container_path);    CFRelease(dcp_noprivate);    CFRelease(disk_container_url);    CFRelease(disk_container_path);    CFRelease(cmds_data);}
开发者ID:ccastleb,项目名称:fruitstrap,代码行数:58,


示例14: __copy_legacy_password

static CFDataRef__copy_legacy_password(CFTypeRef password){	if (password == NULL) {		return NULL;	}	if (isA_CFData(password)) {		CFIndex	n;		n = CFDataGetLength(password);		if ((n % sizeof(UniChar)) == 0) {			CFStringEncoding	encoding;			CFStringRef		str;#if	__BIG_ENDIAN__			encoding = (*(CFDataGetBytePtr(password) + 1) == 0x00) ? kCFStringEncodingUTF16LE : kCFStringEncodingUTF16BE;#else	// __LITTLE_ENDIAN__			encoding = (*(CFDataGetBytePtr(password)    ) == 0x00) ? kCFStringEncodingUTF16BE : kCFStringEncodingUTF16LE;#endif			str = CFStringCreateWithBytes(NULL,						      (const UInt8 *)CFDataGetBytePtr(password),						      n,						      encoding,						      FALSE);			password = CFStringCreateExternalRepresentation(NULL,									str,									kCFStringEncodingUTF8,									0);			CFRelease(str);		} else {			password = NULL;		}	} else if (isA_CFString(password) && (CFStringGetLength(password) > 0)) {		// convert password to CFData		password = CFStringCreateExternalRepresentation(NULL,								password,								kCFStringEncodingUTF8,								0);	} else {		password = NULL;	}	return password;}
开发者ID:010001111,项目名称:darling,代码行数:45,


示例15: TSICTStringCreateWithStringAndFormat

TStringIRep* TSICTStringCreateWithStringAndFormat(CFStringRef string, TSITStringFormat format){    CFRetain(string);    CFDataRef data = CFStringCreateExternalRepresentation(kCFAllocatorDefault, string, kCFStringEncodingUTF8, '?');    TStringIRep* rep = TSICTStringCreateWithDataOfTypeAndFormat(data, kTSITStringTagString, format);    CFRelease(data);    CFRelease(string);    return rep;}
开发者ID:4justinstewart,项目名称:Polity,代码行数:9,


示例16: WebApiClientMD5DigestCreateWithString

CFDataRef WebApiClientMD5DigestCreateWithString(CFStringRef string) {	CFDataRef result = NULL;	CFDataRef data = CFStringCreateExternalRepresentation(kCFAllocatorDefault, string, kCFStringEncodingUTF8, 0);	if ( data ) {		result = WebApiClientMD5DigestCreateWithData(data);		CFRelease(data);	}	return result;}
开发者ID:Blue-Rocket,项目名称:WebApiClient,代码行数:9,


示例17: INXCreateDictionaryWithString

extern CFPropertyListRef INXCreateDictionaryWithString(CFStringRef s) {	if (s == NULL)		return NULL;	CFDataRef data = CFStringCreateExternalRepresentation(NULL, s, kCFStringEncodingUTF8, 0);	if (data == NULL)		return NULL;	CFPropertyListRef retval = CFPropertyListCreateFromXMLData(NULL, data, kCFPropertyListImmutable, NULL);	CFRelease(data);	return retval;}
开发者ID:525828027,项目名称:networkpx,代码行数:10,


示例18: WebSocketFrameCreateWithPayloadString

WebSocketFrameRefWebSocketFrameCreateWithPayloadString (CFAllocatorRef allocator, Boolean isMasked, UInt8 *maskingKey, CFStringRef payload) {    WebSocketFrameRef self = NULL;    CFDataRef data = CFStringCreateExternalRepresentation(allocator, payload, kCFStringEncodingUTF8, 0);    if (data != NULL) {        self = WebSocketFrameCreateWithPayloadData(allocator, kWebSocketFrameOpCodeText, isMasked, maskingKey, data);        CFRelease(data);    }    return self;}
开发者ID:Didoni,项目名称:curvature,代码行数:10,


示例19: TearOffSignatureAndHashManifest

static int TearOffSignatureAndHashManifest(CFDictionaryRef manifestDict, CFDataRef* signature, CFDataRef* manifest_data){	int result = -1;	CFMutableDictionaryRef new_manifest_dict = NULL;    CFStringRef sig_data_str = NULL;	CFDataRef sig_data = NULL;	CFDataRef prop_list = NULL;    CFDataRef decoded_sig_data = NULL;		if (NULL == manifestDict || NULL == signature || NULL == manifest_data)	{		return result;	}	*signature = NULL;	*manifest_data = NULL;		new_manifest_dict = CFDictionaryCreateMutableCopy(kCFAllocatorDefault, CFDictionaryGetCount(manifestDict), manifestDict);	sig_data_str = (CFStringRef)CFDictionaryGetValue(new_manifest_dict, CFSTR("Signature"));	if (NULL == sig_data_str)	{		CFRelease(new_manifest_dict);		return result; 	}        sig_data = CFStringCreateExternalRepresentation(kCFAllocatorDefault, sig_data_str, kCFStringEncodingUTF8, 0);    if (NULL == sig_data)    {        CFRelease(sig_data_str);        CFRelease(new_manifest_dict);		return result;    }        if (Base64Data(sig_data, 0, &decoded_sig_data))    {        CFRelease(sig_data);        CFRelease(new_manifest_dict);		return result;    }        	*signature = decoded_sig_data;		CFDictionaryRemoveValue(new_manifest_dict, CFSTR("Signature"));	prop_list = CFPropertyListCreateXMLData (kCFAllocatorDefault, new_manifest_dict);	CFRelease(new_manifest_dict);	if (NULL == prop_list)	{		return result; 	}        (void)CreateHashForData(prop_list, 1, manifest_data);	    result = (NULL == *manifest_data) ? -1 : 0;	return result;	}
开发者ID:unofficial-opensource-apple,项目名称:Security,代码行数:54,


示例20: SQLite3StatementGetBindParameterIndexWithName

inline CFIndex SQLite3StatementGetBindParameterIndexWithName(SQLite3StatementRef statement, CFStringRef name) {  int index = 0;  if (name) {    CFDataRef nameData = CFStringCreateExternalRepresentation(statement->allocator, name, kCFStringEncodingUTF8, 0);    if (nameData) {      index = sqlite3_bind_parameter_index(statement->stmt, (const char *)CFDataGetBytePtr(nameData));      CFRelease(nameData);    }  }  return index;}
开发者ID:neostoic,项目名称:CoreSQLite3,代码行数:11,


示例21: cfstring2rbstr

static VALUE cfstring2rbstr(CFStringRef str) {    const char *result;    VALUE rb_result = Qnil;    CFDataRef data = CFStringCreateExternalRepresentation(kCFAllocatorDefault, str, kCFStringEncodingUTF8, 0);    if (data) {        result = (const char *)CFDataGetBytePtr(data);        rb_result = rb_str_new2(result);    }    RELEASE_IF_NOT_NULL(data)    return rb_result;}
开发者ID:xli,项目名称:spotlight,代码行数:11,


示例22: CFPlatformLog

__private_extern__void CFPlatformLog(const char* prefix, CFLogLevel level, CFStringRef message) {    CFDataRef chars = CFStringCreateExternalRepresentation(        kCFAllocatorDefault,        message,        CFStringGetSystemEncoding(),        '?');    printf("[%s / %s] %.*s/n",		prefix, CFLogFormatLevel(level),        (int)CFDataGetLength(chars), CFDataGetBytePtr(chars));    CFRelease(chars);}
开发者ID:AriX,项目名称:FrozenCocoa-POC,代码行数:12,


示例23: __NCPrint

void__NCPrint(  FILE*       stream,  CFStringRef format,  va_list     argv,  Boolean     addNewline){  CFDataRef     externalRep;  CFStringRef   string;  CFRange       range = CFStringFind(format,CFSTR("%!"),0);    //  Look for ANSI formatting directives:  if (range.location != kCFNotFound) {    format = __NCParseExtendedFormatString(format);    string = CFStringCreateWithFormatAndArguments(                kCFAllocatorDefault,                NULL,                format,                argv);    CFRelease(format);  } else {    string = CFStringCreateWithFormatAndArguments(                kCFAllocatorDefault,                NULL,                format,                argv);  }    if (string) {    externalRep = CFStringCreateExternalRepresentation(                  kCFAllocatorDefault,                  string,                  CFCStringGetDefaultEncoding(),                  '?');    CFRelease(string);    if (externalRep) {      if ( addNewline )        fprintf(stream,"%.*s/n",            (int)CFDataGetLength(externalRep),            (char*)CFDataGetBytePtr(externalRep)          );      else        fprintf(stream,"%.*s",            (int)CFDataGetLength(externalRep),            (char*)CFDataGetBytePtr(externalRep)          );      CFRelease(externalRep);      fflush(stream);    }  }  }
开发者ID:justindelliott,项目名称:ncutil,代码行数:52,


示例24: SQLite3StatementBindString

inline SQLite3Status SQLite3StatementBindString(SQLite3StatementRef statement, CFIndex index, CFStringRef value) {  SQLite3Status status = kSQLite3StatusError;  if (value) {    CFDataRef valueData = CFStringCreateExternalRepresentation(statement->allocator, value, kCFStringEncodingUTF8, 0);    if (valueData) {      status = sqlite3_bind_text(statement->stmt, (int)index, (const char *)CFDataGetBytePtr(valueData), -1, SQLITE_TRANSIENT);      CFRelease(valueData);    }  } else {    status = SQLite3StatementBindNULL(statement, index);  }  return status;}
开发者ID:neostoic,项目名称:CoreSQLite3,代码行数:13,


示例25: OnData

static void OnData(CFSocketRef socket, CFSocketCallBackType type, CFDataRef address, const void *value, void *info) {    switch (type) {        case kCFSocketDataCallBack:            CFDataRef data(reinterpret_cast<CFDataRef>(value));            Client *client(reinterpret_cast<Client *>(info));            if (client->message_ == NULL)                client->message_ = CFHTTPMessageCreateEmpty(kCFAllocatorDefault, TRUE);            if (!CFHTTPMessageAppendBytes(client->message_, CFDataGetBytePtr(data), CFDataGetLength(data)))                CFLog(kCFLogLevelError, CFSTR("CFHTTPMessageAppendBytes()"));            else if (CFHTTPMessageIsHeaderComplete(client->message_)) {                CFURLRef url(CFHTTPMessageCopyRequestURL(client->message_));                Boolean absolute;                CFStringRef path(CFURLCopyStrictPath(url, &absolute));                CFRelease(client->message_);                CFStringRef code(CFURLCreateStringByReplacingPercentEscapes(kCFAllocatorDefault, path, CFSTR("")));                CFRelease(path);                JSStringRef script(JSStringCreateWithCFString(code));                CFRelease(code);                JSValueRef result(JSEvaluateScript(CYGetJSContext(), script, NULL, NULL, 0, NULL));                JSStringRelease(script);                CFHTTPMessageRef response(CFHTTPMessageCreateResponse(kCFAllocatorDefault, 200, NULL, kCFHTTPVersion1_1));                CFHTTPMessageSetHeaderFieldValue(response, CFSTR("Content-Type"), CFSTR("application/json; charset=utf-8"));                CFStringRef json(CYCopyJSONString(CYGetJSContext(), result, NULL));                CFDataRef body(CFStringCreateExternalRepresentation(kCFAllocatorDefault, json, kCFStringEncodingUTF8, NULL));                CFRelease(json);                CFStringRef length(CFStringCreateWithFormat(kCFAllocatorDefault, NULL, CFSTR("%u"), CFDataGetLength(body)));                CFHTTPMessageSetHeaderFieldValue(response, CFSTR("Content-Length"), length);                CFRelease(length);                CFHTTPMessageSetBody(response, body);                CFRelease(body);                CFDataRef serialized(CFHTTPMessageCopySerializedMessage(response));                CFRelease(response);                CFSocketSendData(socket, NULL, serialized, 0);                CFRelease(serialized);                CFRelease(url);            }        break;    }}
开发者ID:simpzan,项目名称:cycript,代码行数:51,


示例26: impExpPassphraseToCFData

/* * Given a CFTypeRef passphrase which may be a CFDataRef or a CFStringRef, * return a refcounted CFDataRef whose bytes are suitable for use with * PKCS5 (v1.5 and v2.0) key derivation. */OSStatus impExpPassphraseToCFData(	CFTypeRef   passin,	CFDataRef   *passout)	// may be the same as passin, but refcounted{	if(CFGetTypeID(passin) == CFDataGetTypeID()) {		CFDataRef passInData = (CFDataRef)passin;		CFRetain(passInData);		*passout = passInData;		return errSecSuccess;	}	else if(CFGetTypeID(passin) == CFStringGetTypeID()) {		CFStringRef passInStr = (CFStringRef)passin;		CFDataRef outData;		outData = CFStringCreateExternalRepresentation(NULL,			passInStr,			kCFStringEncodingUTF8,			0);		// lossByte 0 ==> no loss allowed		if(outData == NULL) {			/* Well try with lossy conversion */			SecImpExpDbg("Trying lossy conversion of CFString passphrase to UTF8");			outData = CFStringCreateExternalRepresentation(NULL,				passInStr,				kCFStringEncodingUTF8,				1);			if(outData == NULL) {				SecImpExpDbg("Failure on conversion of CFString passphrase to UTF8");				/* what do we do now, Batman? */				return errSecParam;			}		}		*passout = outData;		return errSecSuccess;	}	else {		SecImpExpDbg("Passphrase not CFData or CFString");		return errSecParam;	}}
开发者ID:unofficial-opensource-apple,项目名称:Security,代码行数:43,


示例27: GetPublicManifestKey

static int GetPublicManifestKey(CCRSACryptorRef* key_ref){	int result = -1;		CFStringRef encoded_key_data_str = NULL;	CFDataRef encoded_key_data_str_data = NULL;	CFDataRef decoded_key_data = NULL;	CCCryptorStatus ccStatus = kCCSuccess;		if (NULL == key_ref)	{		return result;	}	*key_ref = NULL;			encoded_key_data_str = CFStringCreateWithCString(kCFAllocatorDefault, kPublicManifestKeyData, kCFStringEncodingUTF8);	if (NULL == encoded_key_data_str)	{		return result;	}		encoded_key_data_str_data = CFStringCreateExternalRepresentation(kCFAllocatorDefault, encoded_key_data_str, kCFStringEncodingUTF8, 0);	if (NULL == encoded_key_data_str_data)	{		CFRelease(encoded_key_data_str);		return result;	}	CFRelease(encoded_key_data_str);		if (Base64Data(encoded_key_data_str_data, 0, &decoded_key_data))    {		CFRelease(encoded_key_data_str_data);        return result;    }	CFRelease(encoded_key_data_str_data);		ccStatus = CCRSACryptorImport(CFDataGetBytePtr(decoded_key_data), CFDataGetLength(decoded_key_data), key_ref);	CFRelease(decoded_key_data);		if (kCCSuccess != ccStatus)	{		*key_ref = NULL;	}	else	{		result = 0;	}	return result;	}
开发者ID:unofficial-opensource-apple,项目名称:Security,代码行数:49,


示例28: simpleStringExample

void simpleStringExample(void) {    CFStringRef str;    CFDataRef data;    char *bytes;    show(CFSTR("------------------Simple Strings---------------"));    // Create a simple immutable string from a Pascal string and convert it to Unicode#if defined(__APPLE__)    str = CFStringCreateWithPascalString(NULL, "/pFoo Bar", kCFStringEncodingASCII);#else    str = CFStringCreateWithCString(NULL, "Hello World", kCFStringEncodingASCII);#endif    // Create the Unicode representation of the string    // "0", lossByte, indicates that if there's a conversion error, fail (and return NULL)    data = CFStringCreateExternalRepresentation(NULL, str, kCFStringEncodingUnicode, 0);    show(CFSTR("String          : %@"), str);    show(CFSTR("Unicode data    : %@"), data);    CFRelease(str);     // Create a string from the Unicode data...    str = CFStringCreateFromExternalRepresentation(NULL, data, kCFStringEncodingUnicode);    show(CFSTR("String Out      : %@"), str);    CFRelease(str);    // Create a string for which you already have some allocated contents which you want to     // pass ownership of to the CFString. The last argument, "NULL," indicates that the default allocator    // should be used to free the contents when the CFString is freed (or you can pass in CFAllocatorGetDefault()).    bytes = (char*)CFAllocatorAllocate(CFAllocatorGetDefault(), 6, 0);    strcpy(bytes, "Hello");    str = CFStringCreateWithCStringNoCopy(NULL, bytes, kCFStringEncodingASCII, NULL);    CFRelease(str);#if defined(__APPLE__)    // Now create a string with a Pascal string which is not copied, and not freed when the string is    // This is an advanced usage; obviously you need to guarantee that the string bytes do not go away    // before the CFString does.     str = CFStringCreateWithPascalStringNoCopy(NULL, "/pFoo Bar", kCFStringEncodingASCII, kCFAllocatorNull);    CFRelease(str);#endif}
开发者ID:edconnor,项目名称:TestCairo,代码行数:49,


示例29: printCfStr

/* print the contents of a CFString */void printCfStr(	CFStringRef cfstr){	CFDataRef strData = CFStringCreateExternalRepresentation(NULL, cfstr,		kCFStringEncodingUTF8, true);	if(strData == NULL) {		printf("<<string decode error>>");		return;	}	const char *cp = (const char *)CFDataGetBytePtr(strData);	CFIndex len = CFDataGetLength(strData);	for(CFIndex dex=0; dex<len; dex++) {		putchar(*cp++);	}	CFRelease(strData);}
开发者ID:unofficial-opensource-apple,项目名称:Security,代码行数:17,



注:本文中的CFStringCreateExternalRepresentation函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CFStringCreateMutableCopy函数代码示例
C++ CFStringCompare函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。